gpt4 book ai didi

scala - Spark JDBC仅返回带有列名的数据帧

转载 作者:行者123 更新时间:2023-12-04 19:49:16 24 4
gpt4 key购买 nike

我正在尝试使用 spark JDBC 连接到 HiveTable,代码如下:

val df = spark.read.format("jdbc").
option("driver", "org.apache.hive.jdbc.HiveDriver").
option("user","hive").
option("password", "").
option("url", jdbcUrl).
option("dbTable", tableName).load()

df.show()

但我得到的返回只是一个带有修改列名的空数据框,如下所示:
--------------|---------------|
tableName.uuid|tableName.name |
--------------|---------------|

我尝试以多种方式读取数据框,但结果总是相同。
我正在使用 JDBC Hive 驱动程序,并且此 HiveTable 位于 EMR 集群中。代码也在同一个集群中运行。
任何帮助将不胜感激。
谢谢你们。

最佳答案

请在选项中设置 fetchsize 它应该可以工作。

Dataset<Row> referenceData
= sparkSession.read()
.option("fetchsize", "100")
.format("jdbc")
.option("url", jdbc.getJdbcURL())
.option("user", "")
.option("password", "")
.option("dbtable", hiveTableName).load();

关于scala - Spark JDBC仅返回带有列名的数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42843241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com