我想在scala spark中从CSV / DataFrame创建嵌套XML。我正在使用Databricks spark-XML库将DataFrame转换为XML格式。
我试图创建一个类似下面的输出,但无法实现它
<rows>
<row>
<name id=10>Mahashree</name>
</row>
</rows>
我尝试过使用struct
{"_VALUE":"Mahashree","_id":10}
但结果如下
<rows>
<row>
<name id=10 VALUE="Mahashree"></name>
</row>
</rows>
在DataBricks文档中,他们有用于转换嵌套XML但不转换为嵌套XML的文档。
<one>
<two myTwoAttrib="BBBBB">two</two>
<three>three</three>
</one>
生成以下架构:
root
|-- two: struct (nullable = true)
| |-- _VALUE: string (nullable = true)
| |-- _myTwoAttrib: string (nullable = true)
|-- three: string (nullable = true)
任何人都可以帮助使用属性的嵌套元素吗?
先谢谢
答案 0 :(得分:1)
可以通过这里描述的两个选项“attributePrefix”和“valueTag”来实现: https://github.com/databricks/spark-xml
例如,如果添加到另外的下划线到“id”:
,则一切都必须正常{"_VALUE":"Mahashree","__id":10}
并保存以下选项:
.option("attributePrefix", "__")
.option("valueTag", "_VALUE")