我正在使用 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中直接查询:
我不确定我是否正确配置了
SparkSession
。我仍然尝试在没有任何配置的情况下创建 SparkSession
,但它具有相同的行为。有谁知道如何连接到我已经创建的数据库?我使用的Spark版本是2.4.7,工作环境是安装了ubuntu服务器的虚拟机。
不确定您尝试使用什么计算来与数据库交互。但要连接到 Hive,您请遵循这些说明。
简而言之,就是使用这个配置:
.config("spark.sql.warehouse.dir", '/path/to/your/warehouse/dir')
而不是
.config("hive.metastore.uris", "thrift://localhost:9083", conf=SparkConf())