gpt4 book ai didi

java - Apache Spark XML 到 JavaRDD

转载 作者:太空宇宙 更新时间:2023-11-04 09:45:11 25 4
gpt4 key购买 nike

我尝试使用spark读取xml文件并将其转换为JavaRDD数组。我已经阅读了如何将其转换为数据集,但我想知道 JavaRDD 是否可以实现。我必须提到,在我的 xml 文件中,我有一个列表,它的大小并不总是相同。这是我的 XML 文件的示例。

 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<logs>
<log>
<id>1</id>
<clientId>1</clientId>
<date>Wed Apr 03 21:16:18 EEST 2019</date>
<itemList>
<item>2</item>
</itemList>
</log>
<log>
<id>2</id>
<clientId>2</clientId>
<date>Wed Apr 03 21:16:19 EEST 2019</date>
<itemList>
<item>1</item>
<item>2</item>
<item>3</item>
</itemList>
</log>
</logs>

谢谢!

最佳答案

这是一个可能的解决方案:https://github.com/databricks/spark-xml/issues/213

这是您需要的:

import com.databricks.spark.xml.XmlReader

val rdd = sc.parallelize(Seq("<books><book>book1</book><book>book2</book></books>"))
val df = new XmlReader().xmlRdd(spark.sqlContext, rdd)
df.show

+--------------+
| book|
+--------------+
|[book1, book2]|
+--------------+

df.printSchema

root
|-- book: array (nullable = true)
| |-- element: string (containsNull = true)

从 rdd 到 JavaRDD 相当简单。 (wrapRdd,查看文档)。

希望它能回答您的问题。

关于java - Apache Spark XML 到 JavaRDD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55501763/

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