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)
我正在从 /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)