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