使用数据块在 Spark(scala) 中生成具有属性和值的 XML
Generate XML with attribute and value in Spark(scala) using databricks
我想在 scala spark 中从 CSV/DataFrame 创建一个嵌套的 XML。我正在使用 Databricks spark-XML 库将 DataFrame 转换为 XML 格式。
我试图创建如下所示的输出,但无法实现
<rows>
<row>
<name id=10>Mahashree</name>
</row>
</rows>
我试过结构
{"_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)
任何人都可以帮助具有属性的嵌套元素吗?
提前致谢
可以使用此处描述的两个选项 "attributePrefix" 和 "valueTag" 来实现:
https://github.com/databricks/spark-xml
例如,如果在 "id" 中添加额外的下划线,一切都必须没问题:
{"_VALUE":"Mahashree","__id":10}
并使用以下选项保存:
.option("attributePrefix", "__")
.option("valueTag", "_VALUE")
我想在 scala spark 中从 CSV/DataFrame 创建一个嵌套的 XML。我正在使用 Databricks spark-XML 库将 DataFrame 转换为 XML 格式。
我试图创建如下所示的输出,但无法实现
<rows>
<row>
<name id=10>Mahashree</name>
</row>
</rows>
我试过结构
{"_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)
任何人都可以帮助具有属性的嵌套元素吗?
提前致谢
可以使用此处描述的两个选项 "attributePrefix" 和 "valueTag" 来实现: https://github.com/databricks/spark-xml
例如,如果在 "id" 中添加额外的下划线,一切都必须没问题:
{"_VALUE":"Mahashree","__id":10}
并使用以下选项保存:
.option("attributePrefix", "__")
.option("valueTag", "_VALUE")