pyspark连接hive
想要spark能够连接上hive,就需要将hive的一些配置文件放到spark中,让spark可以通过配置文件中的metastore.uris找到hive的元数据库,从而访问hive.
1.将hive的conf文件夹下的hive-site.xml,复制到本地spark的conf文件夹中:
2.将hive的lib文件夹下的mysql连接包mysql-connector-java.jar复制到本地spark的jars文件夹中
3.修改hosts
在C:\Windows\System32\drivers\etc中修改HOSTS文件,在下方添加虚拟机的地址
4.测试链接
from pyspark.sql import SparkSession
# 构建SparkSession执行环境入口对象
spark = SparkSession.builder.\
appName("spark_sql").\
config("hive.metastore.uris", "thrift://hadoopm111:9083").\
master("local[*]").\
enableHiveSupport().\
getOrCreate()
spark.sql("show databases").show()
如果只能读取到一个 default 默认数据库。
很明显是我们现在的 client 端还并没有得到 hive metastore 数据库的数据。无法知晓现在 hive 数据库的情况。
所以我们需要为其添加一些参数让他能读取到 hive 的 metastore,通过访问 hive 的 metastore.uris 就可以用获取
config("hive.metastore.uris", "thrift://hadoopm111:9083")
标签:文件夹,pyspark,hive,连接,metastore,spark,uris
From: https://www.cnblogs.com/whiteY/p/17774218.html