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

Я использую 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","_")

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

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

...