将spark-sql与hive整合后,就可以在命令行直接进入spark-sql中操作hive的数据,所做的操作hive里面都会同步。但是于此同时也发现了好多问题,先说明如何用datagrip连接spark-sql
一、连接准备
bash
#先启动Hadoop集群
start-all.sh
#因为与sparksql整合,所以每次要先启动元数据
nohup hive --service metastore >> /usr/local/soft/hive-3.1.3/metastore.log 2>&1 &
#启动spark-thriftserver 服务
cd /usr/local/soft/spark-3.1.3/sbin/
./start-thriftserver.sh --hiveconf hive.server2.thrift.port=10000
查看结果如下:
二、开始连接
1、选择数据源
2、配置驱动
3、开始连接
4、连接成功
三、解决的问题
1、整合步骤:
SparkSQL整合Hive-CSDN博客https://blog.csdn.net/ABU009/article/details/143026858
第一个问题:已解决
整合后如何使用beeline进入hive ?
spark-sql与hive元数据整合后,只能用命令 hive 进入 Hive的客户端,无法使用beeline连接
,我也打开了 hiveserver2的服务,还是显示拒绝连接,试了好多遍,还是无法连接
命令操作如下:
bash
#先启动元数据
nohup hive --service metastore >> /usr/local/soft/hive-3.1.3/metastore.log 2>&1 &
#在启动hiverserver2
nohup hiveserver2 >> /usr/local/soft/hive-3.1.1/hiveserver2.log 2>&1 &
#使用beeline
beeline -u jdbc:hive2://master:10000/
#或者使用下面的
beeline
!connect jdbc:hive2://master:10000/
显示结果如下:
2、成功解决
当spark sql 与hive整合后,hiveserver2的服务就对hive不起作用了,那么beeline也就无法使用,这个时候我们只需要启动spark-thriftserver的服务,beeline就能和之前一样正常使用,成功进入hive
操作命令:
bash
#因为与sparksql整合,所以每次要先启动元数据
nohup hive --service metastore >> /usr/local/soft/hive-3.1.3/metastore.log 2>&1 &
#启动spark-thriftserver 服务
cd /usr/local/soft/spark-3.1.3/sbin/
./start-thriftserver.sh --hiveconf hive.server2.thrift.port=10000
#然后再使用beeline
beeline -u jdbc:hive2://master:10000/
beeline命令成功进入hive客户端
第二个问题:未解决
2.1打开datagrip,发现每次打开之前hive里面存在的表,以及新建的表,每次点击查看都会出现一个红色的报错提示,虽然不影响写sql,但是每次查看表就出现,就会很烦。
2.2 与此同时,新建查询表时都显示未命名数据库,并且切换数据库会报错,不知道怎样解决