我是靠谱客的博主 迅速香烟,最近开发中收集的这篇文章主要介绍kylin怎么读取mysql数据分析_Kylin如何进行JDBC方式访问或者调用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Kylin提供了标准的ODBC和JDBC接口,能够和传统BI工具进行很好的集成。分析师们可以用他们最熟悉的工具来享受Kylin带来的快速。我们也可以对它进行定制开发报表等,把kylin当做数据库服务器就行了。

首先我们来看一下连接Kylin的URL格式为:

jdbc:kylin://:/

注:

如果“ssl”为true话,那么上面的端口号应该为Kylin服务的HTTPS端口号。

kylin_project_name必须指定,并且在Kylin服务中存在。

运行环境需要把安装文件的那个lib目录拷贝到自己的项目引用下

20180110230010869342.png

下面介绍几种方式访问Kylin数据:

第一种方法:使用Statement方式查询

第二种方法:使用PreparedStatement方式查询

第三种方法:获取查询结果集元数据

packageorg.apache.kylin.jdbc;importjava.sql.SQLException;importjava.util.Properties;importorg.junit.Test;importjava.sql.Connection;importjava.sql.Driver;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.Statement;/***@author:

* @date : 2017年4月17日

*@version1.0

* @parameter*/

public classQueryKylinST {

@Testpublic void testStatementWithMockData() throwsSQLException, InstantiationException, IllegalAccessException, ClassNotFoundException {//加载Kylin的JDBC驱动程序

Driver driver = (Driver) Class.forName("org.apache.kylin.jdbc.Driver").newInstance();//配置登录Kylin的用户名和密码

Properties info= newProperties();

info.put("user","ADMIN");

info.put("password","KYLIN");//连接Kylin服务

Connection conn= driver.connect("jdbc:kylin://10.8.217.66:7070/learn_kylin",info);

Statement state=conn.createStatement();

ResultSet resultSet=state.executeQuery("select part_dt, sum(price) as total_selled,count(distinct seller_id) as sellers " +

"from kylin_sales group by part_dt order by part_dt limit 5");

System.out.println("part_dtt"+ "t" + "total_selled" + "t" +"sellers");while(resultSet.next()) {

String col1= resultSet.getString(1);

String col2= resultSet.getString(2);

String col3= resultSet.getString(3);

System.out.println(col1+ "t" + col2 + "t" +col3);

}

}

@Testpublic void testanylist() throwsException {

Driver driver=(Driver) Class.forName("org.apache.kylin.jdbc.Driver").newInstance();

Properties info= newProperties();

info.put("user","ADMIN");

info.put("password","KYLIN");

Connection conn= driver.connect("jdbc:kylin://10.8.217.66:7070/learn_kylin",info);

PreparedStatement state= conn.prepareStatement("select * from KYLIN_CATEGORY_GROUPINGS where LEAF_CATEG_ID = ?");

state.setLong(1,10058);

ResultSet resultSet=state.executeQuery();while(resultSet.next()) {

String col1= resultSet.getString(1);

String col2= resultSet.getString(2);

String col3= resultSet.getString(3);

System.out.println(col1+ "t" + col2 + "t" +col3);

}

}

@Testpublic void testmetadatalist() throwsException {

Driver driver= (Driver) Class.forName("org.apache.kylin.jdbc.Driver").newInstance();

Properties info= newProperties();

info.put("user", "ADMIN");

info.put("password", "KYLIN");

Connection conn= driver.connect("jdbc:kylin://10.8.217.66:7070/learn_kylin", info);

Statement state=conn.createStatement();

ResultSet resultSet= state.executeQuery("select * from kylin_sales");//第三个是表名称,一般情况下如果要获取所有的表的话,可以直接设置为null,如果设置为特定的表名称,则返回该表的具体信息。

ResultSet tables = conn.getMetaData().getTables(null, null, null, new String[]{"TABLE"});while(tables.next()) {//for (int i = 0; i < 10; i++) {//System.out.println(tables.getString(i + 1));//}

String col1 = tables.getString(1); //表类别

String col2 = tables.getString(2); //表模式

String col3 = tables.getString(3); //表名称

System.out.println("表信息:"+col1+ "t" + col2 + "t" +col3);

}

}

}

结果如下:由于单元测试,先后顺序不一致,注意忽视

20180110230010873248.png

参考资料

http://kylin.apache.org/docs20/howto/howto_jdbc.html

http://www.cnblogs.com/en-heng/p/5420269.html Python Post方式

http://blog.csdn.net/linlinv3/article/details/53893144 Java 使用httpClient 进行post访问

最后

以上就是迅速香烟为你收集整理的kylin怎么读取mysql数据分析_Kylin如何进行JDBC方式访问或者调用的全部内容,希望文章能够帮你解决kylin怎么读取mysql数据分析_Kylin如何进行JDBC方式访问或者调用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部