Загрузить XML-файл в фрейм данных в PySpark, используя DBR 7.3.x +

Я пытаюсь загрузить файл XML в фрейм данных с помощью PySpark в записной книжке с данными.

df = spark.read.format("xml").options(
    rowTag="product" , mode="PERMISSIVE", columnNameOfCorruptRecord="error_record"
).load(filePath)

При этом я получаю следующую ошибку:

Could not initialize class com.databricks.spark.xml.util.PermissiveMode$

Версия среды выполнения Databricks: 7.3 LTS Версия Spark: 3.0.1 Версия Scala: 2.12

Тот же блок кода отлично работает в DBR 6.4 Spark 2.4.5, Scala 2.11.


person Aman Sehgal    schedule 11.01.2021    source источник


Ответы (1)


Вам необходимо обновить версию библиотеки spark_xml до версии, скомпилированной для Scala 2.12, потому что версия, которая работает для DBR 6.4, несовместима с новой версией Scala. Итак, вместо spark-xml_2.11 вам нужно использовать spark-xml_2.12.

P.S. Я только что проверил с DBR 7.3 LTS & com.databricks:spark-xml_2.12:0.11.0 - работает нормально.

person Alex Ott    schedule 11.01.2021