我一直在尝试读取一个以zip格式(in-network-rates.zip)提供的开源json文件。压缩文件大小为50 is,解压缩文件大小约为700 is。当我试图读取这个文件时,我遇到了'_corrupt_record‘问题。
df = (spark.read.format("json")
.option("multiline", "true")
.load(file_path)
)基于这个博客https://medium.com/@sasidharan-r/how-to-handle-corrupt-or-bad-record-in-apache-spark-custom-logic-pyspark-aws-430ddec9bb41,我还尝试了以下方法:
df = (spark.read.format("json")
.schema(schema_in_network)
.option("multiline", "true").option("mode", "PERMISSIVE")
.option("columnNameOfCorruptRecord", "_corrupt_record")
.load(file_path)
)此外,基于Databrick网站,我尝试了以下几点:
df = (spark.read.format("json")
.option("multiline", "true").option("mode", "PERMISSIVE")
.option("rescuedDataColumn", "_rescued_data")
.load(file_path)
)上述任何方法都没有纠正这一问题。我不确定json文件或我的方法中是否存在问题。在这两种情况下,如果存在,我都希望读取忽略损坏值的内容。提前谢谢你的帮助。
PS:我是星火的新手。
发布于 2022-08-11 12:11:02
试试这个:
df = (spark.read.format("json")
.option("multiline", "true").option("mode", "DROPMALFORMED")
.option("rescuedDataColumn", "_rescued_data").load(file_path)
)模式DROPMALFORMED忽略整个损坏的记录。还试着阅读用于JSON文件的doc
https://stackoverflow.com/questions/73317030
复制相似问题