Я обрабатываю большой XML-файл с использованием Spark XML Library (HyukjinKwon: spark-xml: 0.1.1-s_2.11). Обработка 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.;
Я хотел бы удалить поврежденные записи и продолжить обработку файла. Есть ли другой вариант, который я мог бы попробовать? Цените входы!
РЕДАКТИРОВАТЬ: Глядя на исходный код ссылка опция Malformed поддерживается библиотекой. Поскольку я не очень хорошо разбираюсь в Scala, я не совсем уверен, использую ли я правильный синтаксис для этой опции. Пожалуйста, порекомендуйте.
Пройдя исходный код, я попробовал этот код ниже, но не повезло
.option("mode", "DROP_MALFORMED_MODE")