我正在使用Spark XML库(HyukjinKwon:spark-xml:0.1.1-s_2.11)处理一个大型XML文件。 XML处理失败,并带有几个记录的分析异常。我想继续处理文件而忽略这些记录。
我具有以下用于处理xml的代码,我尝试了“ DROPMALFORMED”选项,但没有帮助。
df = (spark.read.format("xml")
.option("rootTag","Articles")
.option("rowTag", "Article")
.option("inferSchema", "true")
.option("mode", "DROPMALFORMED")
.load("/mnt/RawAdl2/problemfile.xml"))
AnalysisException: "cannot resolve '['Affiliation']' due to data type mismatch: argument 2 requires integral type, however, ''Affiliation'' is of string type.;
我想删除格式错误的记录,然后继续处理文件。我还有其他选择吗?感谢输入!
编辑:查看源代码link,该库支持格式错误的选项。由于我不太熟悉Scala,因此我不确定是否为此选项使用了正确的语法。请指教。
在检查了源代码之后,我在下面的代码中尝试了一下,但是没有运气
.option("mode", "DROP_MALFORMED_MODE")
答案 0 :(得分:0)
尝试设置badRecords路径:
.option("badRecordsPath", "/tmp/badRecordsPath")
https://docs.databricks.com/spark/latest/spark-sql/handling-bad-records.html