pyspark中的XML-无法同时访问元素的属性和值

时间:2018-11-29 15:14:07

标签: apache-spark pyspark databricks apache-spark-xml

我在Apache Spark 2.3.1,Scala 2.11(Azure databricks)上使用spark-xml 0.1.1-s_2.11

我从github网站(https://github.com/databricks/spark-xml)上传了一个示例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 个答案:

没有答案