如何用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及之后版本。

sudo apt-get install mysql-server mysql-client

1). 建立数据库hive,

create database hive

2). 创建用户hive

create user ‘hive’@’%’ identified by ‘hive’

3).创建hive用户,并授权

grant all on hive.* to hive@’%’ identified by ‘hive’

flush privileges

在启动mysql时可能遇到的问题:

当然不是,hive支持jdbc和odbc数据源连接,可以连接很多种数据库,mysql、oracle等等等等,它自己的metastore用的就是derbyDB。 具体的连接方法在官网上有说明,使用odbc需要重新编译相关组件。hive通过jdbc连接其他数据库的教程在google上一搜 ...


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

原文地址: http://outofmemory.cn/sjk/6697316.html

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

发表评论

登录后才能评论

评论列表(0条)

保存