当前位置: 首页 > 知识库问答 >
问题:

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

邹修真
2023-03-14
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)

UPDATE:当使用master=“local”连接时,此操作工作,当连接到master=“MySparkCluster”时,此操作失败。

共有1个答案

柯立果
2023-03-14

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

在编写DataFrame之前,可以使用Outcome.rdd.isempty()检查它是否为空。

 类似资料:
  • 下面的代码是在pyspark shell中运行时的工作文件,但在spark submit master Thread中执行时失败。 我在这里怎么了? 错误:

  • 看起来这应该很容易,就像这是这组特性的核心用例一样,但它一直是一个又一个问题。 最近的一次尝试是通过Glue-Devendpoint(PySpark和Scalaendpoint)运行命令。 遵循此处的说明:https://docs.aws.amazon.com/glue/latest/dg/dev-endpoint-tutorial-repl.html 生成此错误: 它还会在其中一个设置行中生成此

  • 我实际上有几个问题,第一个问题是为什么我的CSS文件没有加载?需要说明的是,我对HTML和CSS非常陌生,这实际上是我的第一个项目,所以不要太苛刻?而且,有时我的视频没有加载,就像我有一个模因页面,它只是给我一个黑色的视频播放器。我决定忽略它,专注于CSS,然后测试我的页面和加载的memes。我的最后一个问题是如何将多个视频/音频加在一起。例如,如果我有三个音频文件,如音频一,音频二,音频三,只有

  • 我实际上有几个问题,第一个问题是为什么我的CSS文件没有加载?需要说明的是,我对HTML和CSS非常陌生,这实际上是我的第一个项目,所以不要太苛刻?而且,有时我的视频没有加载,就像我有一个模因页面,它只是给我一个黑色的视频播放器。我决定忽略它,专注于CSS,然后测试我的页面和加载的memes。我的最后一个问题是如何将多个视频/音频加在一起。例如,如果我有三个音频文件,如音频一,音频二,音频三,只有

  • Parquet是一种柱状(columnar)格式,可以被许多其它的数据处理系统支持。Spark SQL提供支持读和写Parquet文件的功能,这些文件可以自动地保留原始数据的模式。 加载数据 // sqlContext from the previous example is used in this example. // createSchemaRDD is used to implicitl

  • 问题内容: 我最近决定从Apache2切换到Nginx。我在CentOS服务器上安装了Nginx并设置了基本配置。当我尝试在浏览器(FF / Chrome)中加载网站时,我注意到未加载CSS文件。我检查了错误控制台,并看到以下消息: 我检查了Nginx的配置,一切似乎都很好: 在/etc/nginx/mime.types中正确设置了css文件的mime类型。 一切似乎都配置正确,但是我的css文件