我正在尝试通过 pyspark 使用 JDBC 连接到我的配置单元数据库。我没有任何连接错误,但是,我得到的结果集为空。
代码
import pyspark
spark = pyspark.sql.SparkSession.builder.enableHiveSupport().getOrCreate()
properties = {"driver": "org.apache.hive.jdbc.HiveDriver", "fetchsize": "10"}
df = spark.read.format("jdbc")\
.option("driver", "org.apache.hive.jdbc.HiveDriver") \
.option("fetchsize", 10) \
.option("url", "jdbc:hive2://hive.mydomain:10000/temp")\
.option("dbtable", "test_spark_jdbc_connectivity")\
.option("user", "gaurang.shah") \
.option("password", "mypassword").load()
df.show()
该表仅包含两个带有以下字符串的记录
Testing
Testing 1
结果: 表名称在结果中重复。
+----------------------------------+
|test_spark_jdbc_connectivity.value|
+----------------------------------+
| test_spark_jdbc_c...|
| test_spark_jdbc_c...|
+----------------------------------+
如果删除以下选项,则数据库中没有任何内容。
.option("driver", "org.apache.hive.jdbc.HiveDriver") \
.option("fetchsize", 10) \
结果:
+----------------------------------+
|test_spark_jdbc_connectivity.value|
+----------------------------------+
+----------------------------------+