pyspark 连接hive

发布时间 2023-10-19 10:52:44作者: whiteY

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")