Библиотека XML Spark для блоков данных Azure - Попытка чтения XML-файлов - PullRequest
1 голос
/ 08 марта 2019

Я пытаюсь создать блокнот для блоков данных, чтобы прочитать XML-файл из озера данных Azure и преобразовать его в паркет.Отсюда я получил библиотеку spark-xml - [https://github.com/databricks/spark-xml]. Я последовал примеру, приведенному в github, но не смог заставить его работать.

df = (spark.read.format("xml")
  .option("rootTag","catalog") \
  .option("rowTag", "book") \
  .load("adl://mysandbox.azuredatalakestore.net/Source/catalog.xml"))


  Exception Details:

  java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class

  StackTrace: 

 /databricks/spark/python/pyspark/sql/readwriter.py in load(self, path, 
 format, schema, **options)
  164         self.options(**options)
  165         if isinstance(path, basestring):
  --> 166             return self._df(self._jreader.load(path))
  167         elif path is not None:
  168             if type(path) != list:

  /databricks/spark/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py in 
  __call__(self, *args)
  1255         answer = self.gateway_client.send_command(command)
  1256         return_value = get_return_value(
  -> 1257             answer, self.gateway_client, self.target_id, 
  self.name)
  1258 

Есть ли какие-либо другие зависимости, которые мне нужно определить для разбора xml?Ценю помощь.

1 Ответ

0 голосов
/ 09 марта 2019

Фу, наконец-то решил проблему.Сообщение об ошибке не содержит подробностей об исключении, но проблема заключается в разнице версий между библиотекой spark-xml и версией кластера scala.Я обновил библиотеку, чтобы она соответствовала моей версии кластера, и проблема решена.Надеюсь, что это помогает кому-то, имеющему ту же проблему.

...