zl程序教程

您现在的位置是:首页 >  工具

当前栏目

查询数据,Apache Kylin支持这三种方式

Apache数据 查询 方式 支持 三种 Kylin
2023-06-13 09:13:58 时间

查询数据,Apache Kylin支持这三种方式

坚持原创,写好每一篇文章

我们都知道,Apache Kylin的数据来源除了从Hive这些软件导入之外,还支持Rest API,JDBC、OJBC等数据来源,这篇文章我们讲讲这部分内容。

Rest请求

传统的数据库在查询的时候查询结果是以列表的形式展示,而Apache Kylin支持的查询结果的形式可以以折线图、柱状图和饼状图等多种形式展示。这些查询请求调用的本质都是Rest请求,既然是rest请求,我们需要知道的请求路径,请求方式和请求参数。有了这三个参数,一个请求才能确定唯一。请求方式为post请求,请求路径为http://IP地址:端口号/kylin/api/query,请求参数以json形式传入,这里贴一下json格式,你就明白需要传入的具体含义了。

{
   "sql":"select count(*) from xpptable",
   "offset":0,
   "limit":1000,
   "project":"DEFAULT"
}

如果你开发中遇到过分页开发的功能,这些参数我想不用我解释你都能理解,第一个就是Apache Kylin需要查询的SQL语句,offset就是位置,也就是查询到的结果从第一条开始返回,limit就是返回的参数,project是需要查询的项目是哪个。

对于返回的结果,同样也是json数据,具体返回数据的字段含义这里就不多解释了,很多都是见名知意,不懂的官方文档也有一个个属性的解释。

JDBC

JDBC想必大家肯定都知道,我们最初学习软件开发的时候就是通过jdbc来连接数据库,与连接MySQL不同的是,jar包需要连接Apache Kylin的JDBC jar包,然后创建连接jdbc:kylin://ip地址:端口/kylin项目名,地址和MySQL连接地址也差不多,创建完连接后执行sql语句,然后返回结果集,整体就是jdbc连接数据库的那一套,只不过现在换成了Apache Kylin而已。这里贴一些连接Apache Kylin的代码,有个直观的印象。

//加载驱动
Driver driver = (Driver)
Class.forName("org.apache.kylin.jdbc.Driver").newInstance();
Properties info = new Properties();
//设置Apache Kylin的用户名密码
info.put("user", "ADMIN");
info.put("password", "KYLIN");
//创建连接
Connection conn =
driver.connect("jdbc:kylin://localhost:7070/xpp_project", info);
//拼装sql
PreparedStatement state = conn.prepareStatement("select * from xpptable where id=?");
//填充参数
state.setInt(1, 1);
//执行查询 这样就获取到查询结果集了
ResultSet resultSet = state.executeQuery();

ODBC

ODBC是微软提供的开发数据库互连的规范,Kylin支持ODBC连接,我们的数据导入可以通过Excel来进行。

总结

这篇文章讲了Apache Kylin支持的三种查询数据的方式,有ODBC,JDBC还有REST 请求的方式,JDBC和REST请求的方式可能是我们比较熟悉的方式,JDBC方式的步骤和连接MySQL查询数据的方式差不多,都是同一个目模板,只是数据库不同,对应的jar包不同而已。