问题标签 [apache-spark-xml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
696 浏览

apache-spark - 使用 DBR 7.3.x+ 将 XML 文件加载到 PySpark 中的数据框

我正在尝试使用 databricks 笔记本中的 PySpark 将 XML 文件加载到数据框中。

这样做时,我收到以下错误:

Databricks 运行时版本:7.3 LTS Spark 版本:3.0.1 Scala 版本:2.12

相同的代码块在 DBR 6.4 Spark 2.4.5、Scala 2.11 中运行良好

0 投票
1 回答
40 浏览

apache-spark - 通过 Dataframe 读取 XML 文件

我有如下格式的 XML 文件。

我使用以下代码在其上构建了一个数据框。尽管代码显示 3 行并检索 id 和 type 字段,但它没有显示实际值,即 89:19:00.01、1.9.5.67.2、AB-CD-EF

如果我必须在上面的行中添加任何其他选项以带来值,请您帮助我。

0 投票
0 回答
49 浏览

python - 从 Pyspark 数据帧中包含 100 个文件的目录中仅加载前几个 .XML 文件(例如 10 个 xml)

我想从包含 100 个文件的目录中加载每次迭代中的前 10 个 XML 文件,并将已经读取的 XML 文件删除到另一个目录。

到目前为止我在 pyspark 中所做的尝试。

但我收到一个错误:IllegalArgumentException: 'path' must be specified for XML data。

将XML文件的完整路径存储在列表中后,有什么方法可以读取文件吗?或者请提出另一种方法。

0 投票
0 回答
28 浏览

apache-spark - 如何在 Spark 中从 Https 读取 XML 数据

我在 Apache Spark 中有一个带有数据块和 xml 的程序。

XML 文件手动位于我的电脑中,并且显示正确。

但是,我想从 Https 方向读取一个 XML 文件

此代码显示错误:

0 投票
1 回答
864 浏览

apache-spark - 如何使用 spark-xml 包使用 XSD 解析 XML?

我试图通过提供 XSD 模式来解析简单的 XML。使用这里给出的方法。

https://github.com/databricks/spark-xml#xsd-support

XML 在这里:

XSD 在这里:

我正在尝试阅读此 XSD 并尝试构建如下所示的架构。

这里模式成功解析。接下来我正在阅读如下的 XML 文件。

在这一步之后,我可以使用 df.printSchema() 显示 Dataframe 的模式,但是如果我给 df.show() 内容就会变成空的

请指导我在这里做错了什么。

提前致谢。

0 投票
1 回答
321 浏览

apache-spark - (spark-xml) Receiving only null when parsing xml column using from_xml function

I'm trying to parse a very simple XML string column using spark-xml, but I only manage to receive null values, even when the XML is correctly populated.

The XSD that I'm using to parse the xml is:

While the XML in the column present as string is as below, with every tag correctly populated:

My spark code written in scala is something like this:

Printing the schema of this dataFrame (before the select statement) would give the expected schema

But when printing in console the result, all I get are null values like below:

I don't think it is relevant but the source of this xml column is from reading a Kafka topic defined as below:

Has anyone else experienced this problem and solved it? I'm running out of options, I would really appreciate a hint on this :)

The version of spark-xml I'm using is the latest one atm, 0.12.0 with spark 3.1.1.

Update

I was passing the spark-xml options wrongly after calling writeStream, instead they need to be passed as a 3rd parameter of the from_xml function. I still get only null values tho...

0 投票
1 回答
83 浏览

xml - 在 spark 中分解多个数组列以更改输入模式

下面是我的示例架构。

我需要分解所有数组类型的列。我有大约 80 多列,并且列不断变化。我目前正在使用explode(array_zip)

通过使用,上面我能够得到输出。但这仅适用于一个特定文件。就我而言,将经常添加新列。那么,是否有任何功能可以分解多个列以更改架构,并从文件中选择非数组列。有人可以举个例子吗

注意:只有数组列不断变化,其余的将保持不变。

下面是样本数据

这是xml数据。最初,解析此数据并将所有名称属性值转换为列名,并将所有“值”属性值转换为列名的值。这个 XML 有重复的标签,所以解析后的最终结果是数组列,我在解析逻辑的末尾使用了 collect_list。

这是解析后的示例输出。

0 投票
0 回答
147 浏览

xml - 无法将已解析的 xml 数据插入到具有更改输入模式的 spark 中的增量表中

我正在尝试将数据帧中的数据插入到增量表中。最初,我基于目标模式解析 xml 文件并将结果保存到数据框中。下面是用于解析的代码。

在这一步之后,我将列拆分并分解数组列,最后将数据保存到数据框中,之后我将使用下面的方法将此数据插入到增量表中。

如果源文件与目标文件的列数相同,这可以正常工作。但是在这种情况下,会有不同的文件具有不同的模式,它们将作为输入传递给解析代码。例如,目标模式有 77 列,如果传入文件有 65 列,并且在将数据插入增量表时,我会收到以下错误。

像这样我得到具有不同输入模式的文件,但我的目标模式是不变的。所以,基本上我需要将 Null 传递给缺失的字段。我知道在将数据写入数据帧之前,我需要在解析代码中进行模式比较。您能否告诉我如何实现这一点以及在我的解析代码中在何处合并此逻辑。

0 投票
0 回答
55 浏览

python - 尽管关闭了 INFO 到 WARN,但带有 PySpark 的 Spyder IDE 显示仍会记录所有内容

我按照这个SO 链接关闭了 log4j INFO 日志记录,但我仍然在我的 Spyder IDE 的控制台中看到如此大量的日志。

在此处输入图像描述

我什至不想看到这些警告。只显示我的脚本生成的错误。=> 我正在从 anaconda 启动 spyder 并使用 Pyspark api 集。

0 投票
0 回答
59 浏览

xml - 如何使用 order by 编写 Spark XML 写作?

我正在尝试从我的数据框中写入 xml 文件,如下所示

这是在写一个文件,但没有按照我指定的顺序。每次它给出不同的随机顺序。如何在 Spark XML 写作中正确排序