作者是通过metastore方式实现spark连接hive数据库,所以首先启动metastore:
hive --service metastore
另外需要将core-site.xml、hdfs-site.xml、hive-site.xml三个文件复制到的spark/conf文件夹下。
image.png
hive-site.cml中要包含metastore的地址:
image.png
spark代码:
# -*- coding: utf-8 -*-
from pyspark.sql import SparkSession
spark = SparkSession\
.builder\
.appName('spark read hive')\
.master('local')\
.enableHiveSupport()\
.getOrCreate()
hive_data = spark.sql("show databases")
hive_data.show()
# 读数据库
read_data = spark.sql("select * from database.table limit 10")
read_data.show()
# 写数据库 append:追加模式;overwrite:清空表重写
read_data.write.format("hive").mode("append").saveAsTable('database.table2')
本篇spark连接的是本机hive,若是远程连接参考spark远程读写hive数据库
网友评论