xml - 使用 pyspark / spark xml 删除一些节点
问题描述
使用以下内容将 xml 加载到数据框中后:
df = spark.read\
.format("xml")\
.options(**options)\
.load("s3a://.../.../")
如何删除一个节点(例如使用 /root/a/aa 的 xpath),然后再次将结果写入 xml?原始 xml 有数千个节点,因此列出我想要保留的所有节点是不切实际的。如果这可以使用 spark SQL 来完成,那也会更有帮助。
示例源 xml:
<root>
<a>
<aa>
...
</aa>
<ab>
...
</ab>
...
<az>
...
</az>
<a>
<b>
<ba>...</ba>
<bb>
<bba>...</bba>
...
<bbz>...</bbz>
</bb>
...
<bz> ... </bz>
</b>
...
<z> ... </z>
</root>
样本预期输出
<root>
<a>
<ab>
...
</ab>
...
<az>
...
</az>
<a>
<b>
<ba>...</ba>
<bb>
<bba>...</bba>
...
<bbz>...</bbz>
</bb>
...
<bz> ... </bz>
</b>
...
<z> ... </z>
</root>
解决方案
推荐阅读
- php - 如何将值传递给 add_action() 闭包?
- angular - Angular 清理 html 但保留内联样式
- tensorflow - 问题:将 TPU 与 OpenNMT-tf 一起使用
- javascript - 操作 api 以显示来自单击元素的数据
- python - 如何在 python 中使用 matlibplot 在子图上绘制矩形?
- vb.net - 取消后刷新表格
- python - 是否可以在不使用 string.split 的情况下获取字符串行中的最后一个标记?
- c# - 在 ASP.NET MVC 中使用复选框和国家/地区列表时如何保存值?
- sql - SQL Server 中的日期格式
- javascript - 如何将逗号分隔的文本字段转换为单独的行