根据原理,就是Spark能够连接上Hive的MetaStore就可以了。所以:

1.MetaStore需要存在并开机

2.Spark知道MetaStore在哪里(IP端口号)

SparkSQL 和 Hive整合关键四步骤

第一步:将hive-site.xml拷贝到spark安装路径conf目录

第二步:将mysql的连接驱动包拷贝到spark的jars目录下

第三步:Hive开启MetaStore服务

第四步:测试SparkSQL整合Hive是否成功

Spark on Hive原理和配置

第一步:将hive-site.xml拷贝到spark安装路径conf目录

node1执行以下命令来拷贝hive-site.xml到所有的spark安装服务器上面去

cd /export/server/hive/conf
cp hive-site.xml /export/server/spark/conf/
scp hive-site.xml root@node2:/export/server/spark/conf/
scp hive-site.xml root@node3:/export/server/spark/conf/

第二步:将mysql的连接驱动包拷贝到spark的jars目录下

node1执行以下命令将连接驱动包拷贝到spark的jars目录下,三台机器都要进行拷贝

cd /export/server/hive/lib
cp mysql-connector-java-5.1.32.jar  /export/server/spark/jars/
scp mysql-connector-java-5.1.32.jar  root@node2:/export/server/spark/jars/
scp mysql-connector-java-5.1.32.jar  root@node3:/export/server/spark/jars/

第三步:Hive开启MetaStore服务

(1)修改 hive/conf/hive-site.xml新增如下配置

远程模式部署metastore 服务地址

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://node1:9083</value>
    </property>
</configuration>

(2) 后台启动 Hive MetaStore服务

nohup /export/server/hive/bin/hive --service metastore 2>&1 >> /var/log.log &

第四步:测试SparkSQL整合Hive是否成功

[方式1]Spark-SQL方式测试

cd /export/server/spark
bin/spark-sql --master local[2] --executor-memory 512m --total-executor-cores 1

执行成功后的界面:进入到spark-sql 客户端命令行界面

查看当前有哪些数据库, 并创建数据库

show databases;
create database sparkhive;

[方式2]PySpark-Shell方式启动:

bin/spark-shell --master local[3] 或bin/pyspark --master local[2]
spark.sql("show databases").show()

 

Logo

大数据从业者之家,一起探索大数据的无限可能!

更多推荐