我在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","_")
有人知道我在做什么错吗?
非常感谢!