问题标签 [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 回答
525 浏览

apache-spark - 在 Spark 的嵌套 XML 中为来自父数据框的子数据框添加额外的列

我在加载许多 XML 文件后创建数据。每个 xml 文件都有一个唯一字段fun:DataPartitionId ,我从一个 XML 文件创建了许多行。

现在我想为fun:DataPartitionIdXML 生成的行中的每一行添加它。

例如,假设第一个 XML 有 100 行,那么每 100 行将具有相同fun:DataPartitionId的字段。

fun:DataPartitionId作为每个 XML 中的标头文件也是如此。

这就是我正在做的。

0 投票
1 回答
1334 浏览

scala - 在 spark 数据框中的嵌套 json 中将部分父 Schema 列添加到子项

我有下面的 xml,我正在尝试加载到 spark 数据框。

主要标签是<env:ContentEnvelope> 然后有两个部分,一个是标题(<env:Header>),另一个是正文(<env:Body

<fun:OrgId>正文中的细节<fun:DataPartitionId>对于<env:Body.

从这里我想创建两个数据框。

一为<sr:Source,二为<sr:Auditor

对于两个数据框action="Overwrite"将与一个公共列相同。

也因为<sr:Auditor<sr:Source如此少的列的子项,例如sourceId="344" organizationId="4295906830"将在<sr:Auditor数据框中重复。

这就是我迄今为止为实现这一目标所做的工作

所以我的问题是如何从父数据框获取父数据框<sr:Source和子数据<sr:Auditor框的organizationId 和 sourceId?

0 投票
0 回答
74 浏览

apache-spark - spark-xml 库多次解析 xml 文件

我使用 databricks 中的 spark-xml 库来解析 xml 文件 (550 MB)。

Spark 第一次使用许多任务/分区解析文件。

然后,当我调用此代码时:

Spark 开始新的解析。

避免对数据集的每个函数调用都解析文件是一种解决方案吗?

0 投票
1 回答
1338 浏览

apache-spark - spark-xml 中具有嵌套父节点的自定义模式

我对 spark-xml 很陌生,我发现为我的对象准备自定义模式很困难。请求大家帮助我。以下是我尝试过的。

我正在使用 Spark 1.4.7 和 spark-xml 版本 0.3.5

测试.Java

我的 POJO 类 Book.Java

期望的XML

因此,如您所见,我希望在父级中有一个嵌套标签。如何修改我的 customSchema 以实现相同的效果。

0 投票
1 回答
2643 浏览

apache-spark - 如何使用 Spark-Xml 生成复杂的 XML

我正在尝试从我的 JavaRDd<Book> 和 JavaRdd<Reviews> 生成一个复杂的 xml,我怎样才能将这两者结合起来生成下面的 xml?

如您所见,有一个父根库,其中包含子书籍和评论。

以下是我如何生成 Book and Review Dataframe

我知道要生成 xml,我的疑问尤其是对于拥有图书馆 rootTag 并将书籍和评论作为其子项。

我正在使用 Java。但如果你能指出我的正确,你可以编写 Scala 或 Python 示例。

0 投票
1 回答
560 浏览

scala - 在火花作业scala中添加新列之前检查空条件

我有一个下面的架构

现在这是一个经常变化的 xml 文件。我只想处理包含env:Data.sr:Source.*的税, 为此我在下面编写了代码

但这仅sr:Source在架构中找到时才有效,否则我会遇到异常

线程“main”中的异常org.apache.spark.sql.AnalysisException:没有这样的结构字段 sr:Source in _type, cr:TRFCoraxData, fun:Fundamental, md:Identifier, md:Relationship;

忽略我有空检查sr:Source,但这对我不起作用。对于该检查,我也遇到了同样的错误。

基本上我需要的是 env:Data.sr:Source.* 为 null 然后我想退出处理并且下一个标签处理将重新开始。

0 投票
1 回答
5256 浏览

scala - 解析 xml 文件时,由于 spark 中的类型不匹配而无法解决爆炸

我有一个具有以下架构的数据框

现在我想seg:BusinessSegments.seg:BusinessSegment从模式中获取价值。

但我的问题是当我使用爆炸

所以在第一行我正在爆炸,在下一行我正在做*或扩展$"GeographicSegments.*",

我得到这样的错误这就是我正在做的

线程“主”org.apache.spark.sql.AnalysisException 中的异常:由于数据类型不匹配,无法解析“explode( seg:GeographicSegments. )”:seg:GeographicSegment

我知道这个问题,因为在架构中我得到seg:GeographicSegment的是 struct 而不是数组,这就是我得到 .

所以真正的问题是我没有固定的模式。

当 xml 文件中有两条记录时,然后seg:GeographicSegment变成数组,然后我的代码工作正常,但是当我只得到一条记录时,它作为结构工作,我的代码失败。

我如何在我的代码中处理这个问题。解析模式时是否必须设置条件?或者无论如何我

这是一种不起作用的情况

0 投票
2 回答
1328 浏览

scala - NotNull 条件不适用于 spark 数据框 scala 中的 withColumn 条件

所以我试图在找到它时添加列,但我不想在 xml 架构中不存在列时添加。这就是我正在做的事情,我想我在检查条件时做错了什么。

但是当我找到 column 它对我来说很好,但是当 column 不存在时tempNew1 我得到错误。

基本上,如果在 schema 中找不到标记,我根本不想使用 withColumn 。

安慰我在这里失踪。请帮我确定问题。

我得到的错误如下

线程“主”org.apache.spark.sql.AnalysisException 中的异常:无法解析“ AsReportedItem.fs:BookMark”给定输入列:[IsAsReportedCurrencySetManually,

这也是我尝试过的

但无法使其充分发挥作用..

这是有效的,但我怎样才能为所有列编写它。

添加主数据框的架构

在列出现在架构中之后添加架构

0 投票
0 回答
904 浏览

apache-spark - Spark-Xml:Dataframe 中数组中的数组以生成 XML

我需要生成具有以下结构的 XML

如您所见,父节点将有子节点,子节点可能有孙节点。

https://github.com/databricks/spark-xml#conversion-from-dataframe-to-xml

我从 spark-xml 了解到,当我们有一个嵌套数组结构时,数据框应该如下所示

你能帮我用这个小例子来说明如何为我想要的 xml 制作一个扁平的 DataFrame。我正在研究 Spark 2.X Spark-Xml 0.4.5(最新)


我的架构

我的行 RDD 数据.. 不是实际代码,但有点像这样。

到目前为止,我已经尝试过父 WrappedArray 中的 WrappedArray,但它不起作用。

0 投票
0 回答
560 浏览

apache-spark - 每个零件文件中都会生成 Spark-Xml 根标记

所以我正在尝试生成一个具有以下结构的 XML。

现在我有下面的代码

当我运行它时,它会在指定目录中创建一个包含两个部分 00000 和部分 00001 的文件。每个文件中都有一个 Root 和 Row 标记。当我 copyMerge 零件文件时,它将复制那些 RootTag (n:Brands)。

每个零件文件如下所示。

我使用 FileUtil 来合并 partFile。

当我合并两个部分文件时,它就变成了。

如何避免此 RootTag 在每个零件文件中重复?

我不想使用repartition(1),因为我有一个庞大的数据集,而单个工作人员将无法处理它。