【问题标题】:Getting null values when reading data with PySpark but not with HUE使用 PySpark 但不使用 HUE 读取数据时获取空值
【发布时间】:2021-12-14 12:02:30
【问题描述】:

我正在尝试使用 PySpark 读取分区数据,但不知何故,对于某些分区,它为所有列(分区列除外)提供了 NULL 值。

当我检查 HUE/Hive 中的数据时,一切都很好。我一直在谷歌搜索这个问题,发现这个:

https://community.cloudera.com/t5/Support-Questions/Pyspark-Table-Dataframe-returning-empty-records-from/td-p/35836

这与我的问题非常接近,但是,如果我没有弄错,这仅指的是自行创建的数据,然后以 Parquet 格式存储。但是,我想阅读的表格是“EXTERNAL TABLE”格式,我已经设法用

df = spark.read.parquet('hdfs location')

但结果是一样的。有什么建议可以解决这个问题吗?

谢谢!

【问题讨论】:

  • 你有没有刷新,使元数据失效,有这种操作吗?
  • 无效元数据是什么意思?我刷新了 HUE/Hive 是的,但是观察结果出现了,但在 PySpark 中没有……我可以以某种方式刷新 Pyspark 吗?^^
  • Hive 的默认格式是 orc,而不是 parquet。 hdfs 文件长什么样子?

标签: pyspark hive parquet


【解决方案1】:

好的,通过尝试这个解决了这个问题:sqlContext.setConf("spark.sql.hive.convertMetastoreParquet", "false") 从这里:Spark Hive SQL is Returning Empty Dataframe

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    • 2015-06-16
    • 2022-01-26
    • 1970-01-01
    • 2018-06-21
    • 2021-06-29
    • 1970-01-01
    相关资源
    最近更新 更多