pyspark 与 Hive 集成

问题描述 投票:0回答:1

我正在使用 Hadoop、Hive 和 Spark 进行一些工作,其中我需要查询在 Hive 中创建的表。我正在尝试使用 pyspark 库从 jupiter 笔记本连接到 Hive,如下所示:

import findspark
findspark.init()
from pyspark.sql import SparkSession
from pyspark.conf import SparkConf
spark = SparkSession.builder.appName("laboratorio2").config("hive.metastore.uris", "thrift://localhost:9083", conf=SparkConf()).enableHiveSupport().getOrCreate()
spark.sql("show databases").show()

这就是我回的

show databases

+------------+
|databaseName|
+------------+
|     default|
+------------+

但实际上我还有一个数据库,这是在Hive中直接查询:

this is the response of show databases sentence in Hive

我不确定我是否正确配置了

SparkSession
。我仍然尝试在没有任何配置的情况下创建
SparkSession
,但它具有相同的行为。有谁知道如何连接到我已经创建的数据库?我使用的Spark版本是2.4.7,工作环境是安装了ubuntu服务器的虚拟机。

python apache-spark hadoop pyspark hive
1个回答
0
投票

不确定您尝试使用什么计算来与数据库交互。但要连接到 Hive,您请遵循这些说明

简而言之,就是使用这个配置:

.config("spark.sql.warehouse.dir", '/path/to/your/warehouse/dir')

而不是

.config("hive.metastore.uris", "thrift://localhost:9083", conf=SparkConf())

© www.soinside.com 2019 - 2024. All rights reserved.