use*_*484 5 file bigdata dataframe apache-spark parquet
我正在尝试将镶木地板文件读取到数据框,就像这样
val df = sqlContext.read.parquet("<location>/*.parquet")
Run Code Online (Sandbox Code Playgroud)
但是,在目录下,可能存在空的 parquet 文件(大小为 0 字节)。有没有一种有效的方法可以忽略读取空文件?
小智 1
已经很久了,但问题还没有得到解答:)
如果您的位置有更多文件,并且至少有一个文件 > 0 字节,您可以合并架构。
pyspark 中的示例:
下面的代码:
df = spark.read.format("parquet").load(location)
Run Code Online (Sandbox Code Playgroud)
将会失败
df = spark.read.format("parquet").load(location)
Run Code Online (Sandbox Code Playgroud)
如果您至少有一个 0 字节文件,则会出现错误。然而,
df = spark.read.format("parquet").option("mergeSchema", "true").load(location)
Run Code Online (Sandbox Code Playgroud)
如果您至少有一个文件 > 0 字节,则成功。