XML в pyspark - невозможно одновременно получить доступ к значению атрибута AND для элемента

Я использую spark-xml 0.1.1-s_2.11 в Apache Spark 2.3.1, Scala 2.11 (блоки данных Azure)

Я загрузил образец XML с сайта github ( https://github.com/databricks/spark-xml):

<one>
     <two myTwoAttrib="BBBBB">two</two>
     <three>three</three>
</one>

и созданная схема не включает атрибут, как обещано:

Я получил:

root
|-- one: struct (nullable = true)
| |-- three: string (nullable = true)
| |-- two: string (nullable = true)

Теперь, чтобы попытаться решить эту проблему, я создаю свою собственную схему:

    customSchema = StructType([
StructField("one",
StructType([
StructField("three",StringType(),True),
StructField("two",StructType([
StructField("myTwoAttrib",StringType(),True),
StructField("_VALUE", StringType(),True),
]), True)
]),True)])

Теперь я получаю атрибут, но больше не могу получить значение "два"

Таким образом, я могу получить атрибут ИЛИ значение, но не оба одновременно

Я использую следующие варианты:

option("valueTag","_VALUE").option("excludeAttribute","false").option("attributePrefix","_")

У кого-нибудь есть идеи, что я делаю не так?

Заранее большое спасибо!

0 ответов

Другие вопросы по тегам