scala Spark Spark空JSON文件从目录读取

y0u0uwnf  于 2022-11-09  发布在  Scala
关注(0)|答案(1)|浏览(252)

我正在从路径读取,比如/json//myfiles_.json
然后,我使用EXPLADE将JSON展平。这会导致错误,因为我有一些空文件。我如何告诉它忽略空文件或以某种方式将它们过滤掉?
我可以检测单个文件,检查头部是否为空,但我需要使用通配符路径对在DataFrame中迭代的文件集合执行此操作。

okxuctiv

okxuctiv1#

因此,答案似乎是我需要显式地提供一个模式,因为它不能从空文件中推断出一个模式--正如您所期望的那样!
例如:

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)

相关问题