spark xml: нужен тип структуры, но есть строка; - PullRequest
0 голосов
/ 24 октября 2018

У меня есть папка, которая состоит из файлов XML, и мы предполагаем, что эти файлы имеют одинаковую структуру.Но некоторые из этих файлов являются неполными из-за ошибок в приложении, которое генерирует эти файлы:

Ожидаемая структура:

root
 |-- R: struct (nullable = true)
 |    |-- LTI: struct (nullable = true)
 |    |    |-- C: long (nullable = true)
 |    |    |-- V: long (nullable = true)
 |    |-- MFV: string (nullable = true)

Необходимо игнорировать структуру:

root
 |-- R: struct (nullable = true)
 |    |-- LTI: long (nullable = true)
 |    |-- MFV: string (nullable = true)

Вот как я анализирую

df = spark.read \
  .format("com.databricks.spark.xml") \
  .options(rowTag="RList") \
  .load("/mnt/data/uploads/*/*/*/RList.xml")

df.select(
  "R.LTI.C", 
  "R.LTI.V", 
  "R.MFV", 
).show()

Вот что я ловлю, когда он пытается загрузить неполный XML

Can't extract value from R#204.LTI: need struct type but got string;"

Мой вопрос: как игнорировать такие файлы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...