SparkSql使用spark-sql cli查询Hive里面的数据
https://blog.csdn.net/qq_41489540/article/details/109957066
使用hiveserver2 + beeline
为什么hiveserver2 + beeline???
spark-sql 得到的结果不够友好, 所以可以使用hiveserver2 + beeline
开始操作
1.启动 thrift服务器
在spark的根目录执行
[root@zjj101 spark-2.1.1-bin-hadoop2.7]# sbin/start-thriftserver.sh \> --master yarn \> --hiveconf hive.server2.thrift.bind.host=zjj101\> -–hiveconf hive.server2.thrift.port=10000 ;starting org.apache.spark.sql.hive.thriftserver.HiveThriftServer2, logging to /root/soft/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.sql.hive.thriftserver.HiveThriftServer2-1-zjj101.out[root@zjj101 spark-2.1.1-bin-hadoop2.7]#
说明
sbin/start-thriftserver.sh \
—master yarn \ # 是yarn模式 —hiveconf hive.server2.thrift.bind.host=zjj101\ # 这个是绑定的ip.一般是当前机器 -–hiveconf hive.server2.thrift.port=10000 # 这个是绑定的端口,写10000
2.再开个终端
可以还是连接上面那个服务器
进入到spark的根目录下面
进入beeline
bin/beeline
连接服务器命令
!connect jdbc:hive2://zjj101:10000
然后按照提示输入用户名和密码
默认的用户名和密码是 none none
# 执行 beeline[root@zjj101 spark-2.1.1-bin-hadoop2.7]# bin/beelineBeeline version 1.2.1.spark2 by Apache Hive# 连接beeline服务器beeline> !connect jdbc:hive2://zjj101:10000Connecting to jdbc:hive2://zjj101:10000# 用户名密码,如果没设置的话,默认都是noneEnter username for jdbc:hive2://zjj101:10000: noneEnter password for jdbc:hive2://zjj101:10000: ****20/11/22 16:44:01 INFO jdbc.Utils: Supplied authorities: zjj101:1000020/11/22 16:44:01 INFO jdbc.Utils: Resolved authority: zjj101:1000020/11/22 16:44:01 INFO jdbc.HiveConnection: Will try to open client transport with JDBC Uri: jdbc:hive2://zjj101:10000Connected to: Apache Hive (version 1.2.1)Driver: Hive JDBC (version 1.2.1.spark2)Transaction isolation: TRANSACTION_REPEATABLE_READ# 随便写个SQL0: jdbc:hive2://zjj101:10000> show tables;+-----------+--+| tab_name |+-----------+--+| student |+-----------+--+1 row selected (1.049 seconds)0: jdbc:hive2://zjj101:10000>
