版本
hive 3.1.2
spark 3.3.3
配置
首先,自己配置好spark on hive,很简单,网上配置很多。
把MySQLjar包放进spark的jars。
测试
启动spark-sql(这个如果我没记错的话,是在spark的bin目录里)
创建表,插入字段
启动hive(bin/hive),查询是否有spark-sql创建的表。
有的话,恭喜你,spark on hive 已经配置好了。
后面这是使用客户端工具DataGrip连接到Spark,写sql 的配置
DG不能直接连接spark,如果想要连接的话,要使用spark的Spark ThriftServer 去代替hiveserver2的服务。
1、去etc/hosts,下新增,192.168.177.101 node01.itcast.cn (也可以不新增,到时候改下启动命令就行)。(在我配置完后我也觉得这步挺多余,忽略掉吧,如果后面不行你再回来配置)
2、启动Spark ThriftServer
在$SPARK_HOME/sbin
//这个是配置了1、的启动方式
cd /opt/****/spark-local/sbin
./start-thriftserver.sh
--hiveconf hive.server2.thrift.port=10000
--hiveconf hive.server2.thrift.bind.host=node01.itcast.cn
--hiveconf spark.sql.warehouse.dir=hdfs://node01:8020/user/hive/warehouse
--master local[*]//正常启动,没问题
cd /opt/****/spark-local/sbin
./start-thriftserver.sh
--hiveconf hive.server2.thrift.port=10000
--hiveconf hive.server2.thrift.bind.host=node01
--hiveconf spark.sql.warehouse.dir=hdfs://node01:8020/user/hive/warehouse
--master local[*]
想要更确定启动没,可以去查看spark/logs下面的日志
23/12/19 16:01:53 INFO AbstractService: Service:HiveServer2 is started.
23/12/19 16:01:53 INFO HiveThriftServer2: HiveThriftServer2 started
表示启动成功。
3、在$SPARK_HOME/bin 启动服务。
./beeline
!connect jdbc:hive2://192.168.177.101:10000
输入用户名
输入密码
稍等片刻,
出现 Connected to: Spark SQL (version 3.3.3) 表示使用的spark
出现 Connected to: Apache Hive (version 3.1.2) 表示启动的还是hive,计算依旧使用的是MR,很慢,配置失败 与预期不符,建议去查看日志信息。
使用
粗糙的使用流程,也给大家码下来了。
启动zookeeper
启动hadoop
启动hive --service metastore服务
启动sparkserver2服务
DG连接spark
附:spark 的HistoryServer服务 (有需要就起)
版权归原作者 sour_LI 所有, 如有侵权,请联系我们删除。