SparkSql整合Hive

一:整合目的

采用 SparkSql 与 hive 进行整合,通过 SparkSql 读取 hive 中表的元数据,把 HiveHQL 底层采用 MapReduce 来处理任 务,导致性能慢的特点,改为更加强大的 Spark 引擎来进行相应的分析处理

二:整合前提

1.安装好hadoop集群
2.安装好Hive
3.安装好Mysql
4.安装好JDK
5.安装好spark

需要这些集群的搭建…

三:整合步骤

1.在spark的Master节点上
2.进入hive的conf 目录–把hive-site.xml 拷贝到spark的conf目录下

cp hive-site.xml  /export/servers/spark-2.2.0-bin-hadoop2.7/conf/hive-site.xml 

3.进入spark的conf目录,把hive-site.xml配置文件分发到所有安装了spark的节点

scp hive-site.xml  node02:$PWD

4.进入hive的lib目录,把mysql驱动包拷贝到spark的jars目录上

cp mysql-connector-java-5.1.38.jar  /export/servers/spark-2.2.0-bin-hadoop2.7/jars

5.进入spark的jars目录,把mysql驱动包分发到其他节点

scp mysql-connector-java-5.1.38.jar  node02:$PWD

三:启动集群

1.启动mysql
2.启动hive(元数据)
3.启动zookeeper集群
4.启动hadoop集群以及JobHistoryServer
5.启动spark集群以及 HistoryServer

四:验证是否整合成功

启动命令:

/export/servers/spark-2.2.0-bin-hadoop2.7/bin/spark-sql --master spark://node01:7077 --executor-memory 1g --total-executor-cores 2   --conf spark.sql.warehouse.dir=hdfs://node01:8020/user/hive/warehouse  

命令解释:
1.首先需要在/export/servers/spark-2.2.0-bin-hadoop2.7/bin/spark-sql 启动sparksql
2.–master spark://node01:7077 指定spark集群的Master的节点和端口号
3.–executor-memory 1g 指定运行内存,默认1G
4.–total-executor-cores 2 指定executor的核数
5. --conf spark.sql.warehouse.dir=hdfs://node01:8020/user/hive/warehouse 这个是最重要的,指定sparksql中创建的数据库存放的位置在hdfs文件系统上 , spark 2.0 以上都有这个问题,如果不指定存放位置,就会在spark的bin目录下创建数据库的存放位置,如图:

hive元数据图
指定存储位置的元数据信息
sparksql的数据库存储位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值