Hive JDBC――深入浅出学Hive

时间:2021-09-20 16:24:00

目录:

初始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();主要方法executeQueryexecuteResultSet说明:用来存储结果集创建方法stmt.executeQuery 方法得到主要方法getString()特殊类型的处理ArrayMapStruct第三部分:简单示例背景随着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 tablesSystem.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