xml - 将 XML 文件读取到 Spark 数据帧
问题描述
我有一个以下格式的 XML 文件。
<LEVEL1 A1="a1" A2="a2" A3="ss">
<LEVEL2 A1="a1" A2="a2" A3="a3">
<LEVEL3>
<ITEM A1="a1" A2="a2" A3="a3"/>
<ITEM A1="b1" A2="22" A3="b3"/>
<ITEM A1="c1" A2="c2" A3="c3"/>
</LEVEL3>
</LEVEL2>
</LEVEL1>
我需要使用 PySpark 将此文件加载到 Spark 数据框中并访问各种节点和属性。
我尝试使用以下代码将 XML 文件加载到 Spark 数据框中。代码运行没有错误,但似乎数据框是空的。
df1 = spark.read.format('xml').options(rowTag='LEVEL1').load('sample.xml')
df2 = spark.read.format('xml').options(rowTag='LEVEL2').load('sample.xml')
df3 = spark.read.format('xml').options(rowTag='LEVEL3').load('sample.xml')
df1.show()
df2.show()
df3.show()
将此文件加载到数据框的任何帮助表示赞赏。谢谢。
解决方案
你可以在这里试试 Databricks 的 spark-xml 库
val df = sqlContext.read
.format("com.databricks.spark.xml")
.option("rowTag", "foo")
.load("bar.xml")
推荐阅读
- python - 在不破坏 API 的情况下将 python 函数转换为类
- python - 如何使数据框的列变量
- python-3.x - 用curve_fit拟合的数据不正确
- python - 蟒蛇 | 如何插入两个测量值以使 x 值相同
- django - 如何在 LISTVIEW 中添加额外的上下文数据而不破坏内置分页
- php - 将自定义标头参数传递给 Knp SnappyBundle
- sql - 合并sql条件为空问题
- c# - SignalR 如何接收自定义数据类型?
- java - 如何通过按 Chrome 下的相同链接重新加载页面并开始下载?在 FF 下运行良好
- azure - 尝试从 Azure 表中删除实体时,Azure Logic App 给出 404