【发布时间】:2018-06-06 20:33:46
【问题描述】:
我有一个示例 xml 文件,需要对其进行解析并将其转换为 java [1.8] 中 spark dataset[Version 2.2] 中的键值
sample.xml -
<?xml version="1.0" encoding="UTF-8"?>
-<RECORD>
-<PROP NAME="xxx">
<PVAL>123</PVAL>
</PROP>
-<PROP NAME="yyy">
<PVAL>456</PVAL>
</PROP>
-<PROP NAME="zzz">
<PVAL>786</PVAL>
</PROP>
-<RECORD>
尝试使用以下代码 -
Dataset<Row> xmlDS = spark.read()
.format("com.databricks.spark.xml")
.option("rowTag", "RECORD")
.load("sample.xml");
XMLDS.printSchema();
root
|-- PROP: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- PVAL: string (nullable = true)
| | |-- _NAME: string (nullable = true)
我从上面得到的输出 -
+---------------------------------
|PROP
|
+---------------------------------
|[[123,xxx], [456,yyy], [786,zzz]]
我想要数据集中键值对格式的预期输出
NAME PVAL
-----------------------------
xxx 123
yyy 456
zzz 786
有人可以帮忙吗?.Thx
【问题讨论】:
标签: java scala apache-spark