深入浅出学Hive——Hive JDBC,
目录:
初始Hive
Hive安装与配置
Hive内建操作符与函数开发
Hive JDBC
Hive参数
Hive高级编程
Hive QL
Hive Shell基本操作
Hive优化
Hive体系结构
Hive原理
第一部分:搭建Hive JDBC开发环境
搭建:Steps
•新建工程hiveTest
•导入Hive依赖的包
•Hive 命令行启动Thrift服务
•hive --service hiveserver &
第二部分:基本操作对象的介绍
Connection
•说明:与Hive连接的Connection对象
•Hive 的连接
•jdbc:hive://IP:10000/default“
•获取Connection的方法
•DriverManager.getConnection("jdbc:hive://IP:10000/default", "", "");
Statement
•说明: 用于执行语句
•创建方法
•Statement stmt = con.createStatement();
•主要方法
•executeQuery
•execute
ResultSet
•说明:用来存储结果集
•创建方法
•stmt.executeQuery 方法得到
•主要方法
•getString()
特殊类型的处理
•Array
•Map
•Struct
第三部分:简单示例
背景
随着 3G 时代的到来,选择各种移动终端来上网的人越 来越多,如手机、平板等,这里面蕴含着巨大的商机 ,因为终端可以直接精确到人。所以对用户上网日志 的分析,也成为一个新热点,这些在数据库时代是不 可想象的,因为数据规模超大,云计算解决了这个问 题
需求描述
•分析用户的手机上网日志,得到
手机流量统计 信息与根据终端来获得流量的统计信息
表规划
•
日志表 log
•
字段
用户手机号码 ,终端类型 ,访问的URL ,访问开始时间 ,访问结束时间 ,访问流量
phone string ,client_type string ,url string,visit_begintime timestamp,visit_endtime timestamp,traffic bigint
•
数据文件
•数据间以\t分隔,行之间以\n分隔
•数据示例:
13154587453 andorid www.baidu.com 2011-09-01 17:30:08 2011-09-01 17:31:09 10
•数据文件位置:
/home/test/log.txt
•
手机号归属地 phone_location
•
字段
用户手机号码 ,归属地
phone string ,location stirng
•
数据文件
数据间以\t分隔,行之间以\n分隔
数据示例:1334567890 chaoyang
数据文件位置:
/home/test/phone_local.txt
•
手机流量统计信息 total_traffic_by_phone
•
字段
手机号码 ,总流量(k) , 归属地, 访问总时长(秒)
phone string,totol_traffic bigint,area string,visit_total_time timestamp
•
数据文件
数据间以 \t 分隔,行之间以 \n 分隔
数据示例:
13154587453 102 chaoyang 123
•
终端类型统计信息 total_traffic_by_client_type
•
字段
终端类型 ,访问总流量(k)
client_type string,totoal_traffic bigint
•
数据文件
数据间以 \t 分隔,行之间以 \n 分隔
数据示例:
andorid 1034
实现步骤
•初始化数据,表
•示例:create external table phone_location (phone string,area string) row format delimited fields terminated by '\t' lines terminated by '\n' stored as textfile
•编写处理逻辑
Java 代码示例
try {
Class.forName(driverName);
Connection con = DriverManager.getConnection("jdbc:hive://IP:10000/default", "", "");
Statement stmt = con.createStatement();
String sql = "show tables ";
// show tables
System.out.println("Running: " + sql);
ResultSet res = stmt.executeQuery(sql);
if (res.next()) {
System.out.println(res.getString(1));
}
第四部分:基于Hive的数据库连接池
基于Hive的数据库连接池的实现
•使用DataSource作为数据源的实现
•DBConnectionManager 采用单例模式
•提供获得连接,关闭连接的方法
•setupDataSource()
•DBConnectionManager getInstance()
•close(Connection conn)
•synchronized Connection getConnection()
转载请注明【 http://sishuok.com/forum/blogPost/list/6223.html】
http://www.htsjk.com/hive/32682.html
www.htsjk.Com
true
http://www.htsjk.com/hive/32682.html
NewsArticle
深入浅出学Hive——Hive JDBC, 目录: 初始Hive Hive安装与配置 Hive内建操作符与函数开发 Hive JDBC Hive参数 Hive高级编程 Hive QL Hive Shell基本操作 Hive优化 Hive体系结构 Hive原理 第一部...
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。