小言_互联网的博客

SparkSql整合Hive

245人阅读  评论(0)

一:整合目的

采用 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目录下创建数据库的存放位置,如图:


指定存储位置的元数据信息


转载:https://blog.csdn.net/weixin_44769733/article/details/101295546
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场