利用Zeppelin来操作Hive数据仓库。

zeppelin的操作流程:

首先添加hive的interpreter

相关的配置信息如下所示:

另外还要添加相关的依赖:

 

hive的操作方式  利用hiveserver2来操作

首先要启动元数据服务

cd hive

cd  bin

./hive --service metastore &  //后台启动

./hive --service hiveserver2 &

./beeline -u jdbc:hive2://172.16.0.37:10000 hadoop  //这里的用户名是hive所在的机器的用户和密码 本地是hadoop  hadoop

接下就可以操作sql了。

 

在beeline连接hiveserver2的时候报错了

第一种方式

beeline> !connect jdbc:hive2://localhost:10000

Connecting to jdbc:hive2://localhost:10000

Enter username for jdbc:hive2://localhost:10000: !connect jdbc:hive2://localhost:10000 hadoop

Enter password for jdbc:hive2://localhost:10000: ******

Error: Failed to open new session: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: !connect jdbc:hive2:/localhost:10000%20hadoop (state=,code=0)

0: jdbc:hive2://localhost:10000 (closed)>

第二种方式就没有错了

./beeline -u jdbc:hive2://172.16.0.37:10000 hadoop  //这里的用户名是hive所在的机器的用户和密码 本地是hadoop  Hadoop

接下来创建notebook

注意在写sql的时候,前面必须要加上[hive]

我们知道hive默认是解析成Mapreduce来执行的。

但是我们可以设置spark作为hive的默认解析方式这样的话,执行sql的效率会快很多的。

设置的方式:

在./hive –servive hiveserver2 &

./beeline -u jdbc:hive2://172.16.0.37:10000 hadoop

在连接成功的时候会执行sql操作了:

set hive.execution.engine=spark;
set spark.master=yarn-cluster; //是spark的运行模式 local[*]
set mapreduce.job.queuename=ada.spark; //这个可以默认参数

验证是否设置成功

执行相关的查询操作就ok了。

 

使用spark引擎查询hive有以下几种方式:
1>使用spark-sql(spark sql cli)
2>使用spark-thrift提交查询sql
3>使用hive on spark(即hive本身设置执行引擎为spark)
针对第一种情况:
1>ambari 已经支持,不需要特殊配置;
2>cdh不支持spark sql cli,原因是cdh自带的spark,spark-sql和spark-R是阉割版本的,如果需要使用
spark sql cli,需要下载原生的编译好的spark包替换cdh自带的包

针对第二种情况:

1>cdh 上手动启动/opt/cloudera/parcels/SPARK2-2.0.0.cloudera.beta1-1.cdh5.7.0.p0.108015/lib/spark2/sbin/start-thriftserver.sh 
然后通过beeline连接即可(由于hive-site.xml配置的和hive thrift一样,没有单独配置,所以应在hiveserver2之外的其他节点启动start-thriftserver.sh,这个服务看看能不能添加到spark2管理界面中 ),目前已经调试通过
注:131上spark/conf/yarn-conf/hive-site.xml这个文件不存在,手动拷贝的,50上是有的
2>ambari支持,且sparkthrift服务也启动正常,但是在通过beeline连接的时候报错:
原因是:自启动的hive默认配置不完全,需要手动在spark的配置下找到hive-site的配置添加缺少项;

hive.server2.enable.doAs=true
hive.server2.thrift.port=10016与hive的区别开
hive.server2.transport.mode=binary
spark.yarn.queue=ada.spark
hive.metastore.warehouse.dir=/apps/hive/warehouse,
否则找不到会使用执行命令所在目录作为仓库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值