Spark Spark 清空 Json 从目录中读取的文件

Spark Spark Empty Json Files reading from Directory

我正在从 /json//myfiles_.json

路径读取

然后我使用 explode 将 json 展平。这会导致错误,因为我有一些空文件。我如何告诉它忽略空文件或以某种方式过滤掉它们?

我可以检测单个文件,检查头部是否为空,但我需要使用通配符路径对数据帧中迭代的文件集合执行此操作。

能再详细点吗?也许分享你的代码和文件结构。

即使目录中有空文件,也不应该影响数据帧。

所以答案似乎是我需要明确提供一个架构,因为它无法从空文件中推断出一个架构 - 正如您所期望的那样!

例如

val schemadf = sqlContext.read.json(schemapath) //infer schema from file with data or do manually
val schema = schemadf.schema
val raw = sqlContext.read.schema(schema).json(monthfile)

val prep = raw.withColumn("MyArray", explode($"MyArray"))
  .select($"ID", $"name", $"CreatedAt")

display(prep)