我是靠谱客的博主 鳗鱼机器猫,最近开发中收集的这篇文章主要介绍使用spark-SQL的thriftserver和beeline的方式连接hive,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 准备条件
① 需要将hive-site.xml文件拷贝到Spark的conf目录下,这样就可以通过这个配置文件找到Hive的元数据以及数据存放位置。
② 如果Hive的元数据存放在Mysql中,我们还需要准备好Mysql相关驱动,比如:mysql-connector-java-5.1.35.jar
2. 启动参数设置

2.1 启动thriftserver: 默认端口是10000,可以自定义设置
./sbin/start-thriftserver.sh
--jars ./jars/mysql-connector-java-5.1.32.jar 
--master spark://node-1:7077 
--executor-memory 1g 
--total-executor-cores 2 
--conf
spark.sql.warehouse.dir=hdfs://node-1:9000/user/hive/warehouse
--hiveconf hive.server2.thrift.port=14000 (可以不加)

指明master地址、每一个executor的内存大小、一共所需要的核数、
mysql数据库连接驱动、spark.sql.warehouse.dir、hive.server2.thrift.port可自定义端口

注意:spark.sql.warehouse.dir参数
spark.sql.warehouse.dir在spark2.0版本后由于出现了sparkSession,在初始sqlContext的时候,会设置默认的spark.sql.warehouse.dir=spark-warehouse,此时将hive与sparksql整合完成之后,在通过spark-sql脚本启动的时候,还是会在哪里启动spark-sql脚本,就会在当前目录下创建一个spark.sql.warehouse.dir为spark-warehouse的目录,存放由spark-sql创建数据库和创建表的数据信息,与之前hive的数据信息不是放在同一个路径下(可以互相访问)。但是此时spark-sql中表的数据在本地,不利于操作,也不安全。加上此参数后保证spark-sql启动时不在产生新的存放数据的目录,sparksql与hive最终使用的是hive同一存放数据的目录。

2.2 启动beeline,需要与自定义的端口保持一致
${SPARK_HOME}/bin/beeline -u jdbc:hive2://node-1:10000

最后

以上就是鳗鱼机器猫为你收集整理的使用spark-SQL的thriftserver和beeline的方式连接hive的全部内容,希望文章能够帮你解决使用spark-SQL的thriftserver和beeline的方式连接hive所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部