gpt4 book ai didi

apache-spark-xml - 如何解析包含 xml 字符串的数据框?

转载 作者:行者123 更新时间:2023-12-01 05:57:53 24 4
gpt4 key购买 nike

如何解析包含其中一列中的 xml 数据的 xml 文件?

在我们的一个项目中,我们收到 xml 文件,其中一些列存储另一个 xml。将此数据加载到数据帧时,内部 xml 正在转换为 字符串类型 (这不是故意的),因此在查询数据时无法访问节点(使用点运算符)。

我已经在网上生动地四处寻找答案,但没有运气。在 GitHub 中发现了一个与我的用例完全相同的未解决问题。链接在这里。

https://github.com/databricks/spark-xml/issues/140

我的 xml 源文件如下所示。

+------+--------------------+
| id | xml |
+------+--------------------+
| 6723 |<?xml version="1....|
| 6741 |<?xml version="1....|
| 6774 |<?xml version="1....|
| 6735 |<?xml version="1....|
| 6828 |<?xml version="1....|
| 6764 |<?xml version="1....|
| 6732 |<?xml version="1....|
| 6792 |<?xml version="1....|
| 6754 |<?xml version="1....|
| 6833 |<?xml version="1....|
+------+--------------------+

在 SQL Server 中,要将 xml 存储在数据库列中,有 XML数据类型,但 Spark SQL 中不存在相同的数据类型。

有没有人遇到同样的问题并找到任何解决方法?如果是,请分享。我们正在使用 Spark Scala。

最佳答案

您可以使用以下内容:

df.withColumn("ID", split(col("xml"), ",").getItem(1))

其中 ID 是一个新的字段名称,在
col("xml")
xml是数据框字段名称。
","- 由分隔符逗号分隔(按要求使用)

关于apache-spark-xml - 如何解析包含 xml 字符串的数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48150244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com