使用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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值