使用JDBC读取Kylin中的数据

1. 添加依赖

添加kylin的jdbc依赖到pom.xml

        <dependency>
            <groupId>org.apache.kylin</groupId>
            <artifactId>kylin-jdbc</artifactId>
            <version>4.0.1</version>
        </dependency>

        <!-- 测试时使用的是java11, 版本太高,报错:java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter ->
        <!-- 手动添加依赖 -->
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.1</version>
        </dependency>

2. 编写程序读取kylin数据

下面我们编写程序,读取kylin中的数据,并打印出来

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class KylinJdbcTest {

    public static void main(String[] args) throws Exception {

        // 会自动进行Driver的加载
        String KYLIN_DRIVER = "org.apache.kylin.jdbc.Driver";
        String KYLIN_URL = "jdbc:kylin://192.168.23.71:7070/salary_project";
        String KYLIN_USER = "ADMIN";
        String KYLIN_PASSWD = "KYLIN";

        Connection connection =
                DriverManager.getConnection(KYLIN_URL, KYLIN_USER, KYLIN_PASSWD);
        PreparedStatement pst = connection.prepareStatement("select depart_name, sum(salary) salary_sum " +
                "from kylin_test.employee a join kylin_test.department b on a.depart_no = b.depart_no " +
                "group by depart_name");
        ResultSet resultSet = pst.executeQuery();

        while (resultSet.next()) {
            String departName = resultSet.getString("depart_name");
            Double salarySum = resultSet.getDouble("salary_sum");

            System.out.println("部分: " + departName + ", 薪水: " + salarySum);
        }


    }
}

运行程序,结果如下。可以看到能读出到kylin的数据

部分: 数据部, 薪水: 65000.0
部分: 后端部, 薪水: 60000.0
部分: 前端部, 薪水: 55000.0
部分: 产品部, 薪水: 50000.0
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值