如何用Hive访问Hadoop上数据

如何用Hive访问Hadoop上数据,第1张

步骤

Hive提供了jdbc驱动,使得我们可以连接Hive并进行一些类关系型数据库的sql语句查询等 *** 作,首先我们需要将这些驱动拷贝到报表工程下面,然后再建立连接,最后通过连接进行数据查询。

拷贝jar包到FR工程

将hadoop里的hadoop-common.jar拷贝至报表工程appname/WEB-INF/lib下;

将hive里的hive-exec.jar、hive-jdbc.jar、hive-metastore.jar、hive-service.jar、libfb303.jar、log4j.jar、slf4j-api.jar、slf4j-log4j12.jar拷贝至报表工程appname/WEB-INF/lib下。

配置数据连接

启动设计器,打开服务器>定义数据连接,新建JDBC连接。

在Hive 0.11.0版本之前,只有HiveServer服务可用,在程序 *** 作Hive之前,必须在Hive安装的服务器上打开HiveServer服务。而HiveServer本身存在很多问题(比如:安全性、并发性等);针对这些问题,Hive0.11.0版本提供了一个全新的服务:HiveServer2,这个很好的解决HiveServer存在的安全性、并发性等问题,所以下面我们分别介绍HiveServer和HiveServer2配置数据连接的方式。

HiveServer

数据库驱动:org.apache.hadoop.hive.jdbc.HiveDriver;

URL:jdbc:hive://localhost:10000/default

注:hive服务默认端口为10000,根据实际情况修改端口;另外目前只支持默认数据库名default,所有的Hive都支持。

测试连接,提示连接成功即可。

4

数据库驱动:org.apache.hive.jdbc.HiveDriver;

URL:jdbc:hive2://localhost:10000/default

注:该连接方式只支持Hive0.11.0及之后版本。

hive的数据是无法更新的,除非去更改hdfs的原始文件,更改原始文件需要生成一个新的文件,十分费事。同时hive是进行海量数据统计分析,无法实时查询。而hbase可以进行数据更新和海量数据的快速查询,弥补hive的不足,同时hbase的语法简直蛋疼,无法友好的进行数据的统计分析,但是hive可以。所以hive和hbase整合后,数据更新,实时查询已经统计分析都可以。大致就是这么个原因

(1)、从本地文件系统中导入数据到 Hive 表;

(2)、从 HDFS 上导入数据到 Hive 表;

(3)、从别的表中查询出相应的数据并导入到 Hive 表中;

(4)、在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10829715.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存