spark jdbc只返回带有列名的Dataframe

igetnqfo  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(409)

我正在尝试使用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()

但我得到的返回结果只是一个空的Dataframe,列名称已修改,如下所示:

--------------|---------------|
tableName.uuid|tableName.name |
--------------|---------------|

我试过用很多方法读取Dataframe,但结果总是一样的。我使用的是jdbc配置单元驱动程序,这个配置单元表位于emr集群中。代码也在同一集群中运行。任何帮助都将不胜感激。谢谢大家。

bgibtngc

bgibtngc1#

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

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

相关问题