gpt4 book ai didi

apache-spark - 加载 Parquet 文件时无法推断架构

转载 作者:行者123 更新时间:2023-12-02 20:10:02 25 4
gpt4 key购买 nike

response = "mi_or_chd_5"

outcome = sqlc.sql("""select eid,{response} as response
from outcomes
where {response} IS NOT NULL""".format(response=response))
outcome.write.parquet(response, mode="overwrite") # Success
print outcome.schema
StructType(List(StructField(eid,IntegerType,true),StructField(response,ShortType,true)))

但是然后:

outcome2 = sqlc.read.parquet(response)  # fail

失败:

AnalysisException: u'Unable to infer schema for Parquet. It must be specified manually.;'

/usr/local/lib/python2.7/dist-packages/pyspark-2.1.0+hadoop2.7-py2.7.egg/pyspark/sql/utils.pyc in deco(*a, **kw)

parquet 的文档表示该格式是 self 描述的,并且在保存 parquet 文件时可以使用完整的架构。给出了什么?

使用 Spark 2.1.1。在 2.2.0 中也失败。

找到this bug report ,但被固定在2.0.1、2.1.0。

更新:此功能在与 master="local"连接时有效,在连接到 master="mysparkcluster"时失败。

最佳答案

当您尝试将空目录读取为 parquet 时,通常会发生此错误。可能您的结果数据框为空。

在写入之前,您可以使用 outcome.rdd.isEmpty() 检查 DataFrame 是否为空。

关于apache-spark - 加载 Parquet 文件时无法推断架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44954892/

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