如何使用JDBC连接操作Kylin?

2021-01-27 16:14:30 浏览数 (1)

写在前面: 博主是一名软件工程系大数据应用开发专业大二的学生,昵称来源于《爱丽丝梦游仙境》中的Alice和自己的昵称。作为一名互联网小白,写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样处于起步阶段的萌新。由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!个人小站:http://alices.ibilibili.xyz/ , 博客主页:https://alice.blog.csdn.net/ 尽管当前水平可能不及各位大佬,但我还是希望自己能够做得更好,因为一天的生活就是一生的缩影。我希望在最美的年华,做最好的自己

在之前的博客中已经谈到,Kylin提供了各种Rest API、JDBC/ODBC接口。如果我们要将数据以可视化的方式展现出来,需要使用Kylin的JDBC方式连接执行SQL,获取kylin的执行结果。本篇博客,为大家带来的就是如何使用JDBC操作连接Kylin的步骤流程!


需求

按照日期统计订单总额/总数量

开发步骤

  • 导入maven驱动依赖
代码语言:javascript复制
<dependencies>
   <!-- Kylin -->
   <dependency>
       <groupId>org.apache.kylin</groupId>
       <artifactId>kylin-jdbc</artifactId>
       <version>2.6.3</version>
   </dependency>
   <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
       <version>27.1-jre</version>
   </dependency>
</dependencies>
  • 编写Java代码

■ 加载驱动

■ 创建Connection连接对象

■ 构建SQL语句

■ 创建Statement对象,并执行executeQuery

■ 打印结果

参考代码:

代码语言:javascript复制
public class Test01 {

    public static void main(String[] args) throws SQLException, ClassNotFoundException {
        // 1. 加载驱动
        Class.forName("org.apache.kylin.jdbc.Driver");
        // 2. 创建Connection连接对象
        // 连接字符串:jdbc:kylin://ip地址:7070/项目名称(project)
        Connection connection = DriverManager.getConnection("jdbc:kylin://node01:7070/0514Work", "ADMIN", "KYLIN");

        // 3. 创建Statement对象,并执行executeQuery,获取ResultSet
        Statement statement = connection.createStatement();

       // 构建SQL和语句
        String sql = "select date1, sum(price) as total_money, sum(amount) as total_amount from dw_sales group by date1,channelid";
        ResultSet resultSet = statement.executeQuery(sql);

        // 4. 打印ResultSet
        while (resultSet.next()) {
            // 4.1 获取时间
            String date1 = resultSet.getString("date1");
            // 4.2 获取总金额
            String total_money = resultSet.getString("total_money");
            // 4.3 获取总次数
            String total_amount = resultSet.getString("total_amount");


            // 输出结果
            System.out.println(date1   " "   total_money   " "   total_amount);
            
          }
        connection.close();
    }

}

在运行之前,我们现去Kylin的Web页面上,先进行在线查询,查看结果

确认结果之后,我们返回到IDEA,运行任务,观察控制台打印的结果

可以发现与在页面上进行查询返回的结果是一样的,说明我们使用JDBC连接操作Kylin就成功了。


总结

本篇博客为大家演示了如何使用Java通过连接JDBC访问操作Kylin的一个简单demo。后续会为大家介绍关于Kylin的Cube优化,与我们之前所做的离线数仓项目做一个有效结合…敬请期待!!!

如果以上过程中出现了任何的纰漏错误,烦请大佬们指正?

受益的朋友或对大数据技术感兴趣的伙伴记得点赞关注支持一波?

0 人点赞