0
Apache Spark中是否有任何方式将java RDD文本保存为XML文件?将javaRDD保存为XML文件
我目前所做的是使用saveAsTextFile方法将RDD另存为纯文本文件,然后将其转换为XML。 我有兴趣找到一种方法来直接从RDD创建XML文件。
任何提示,想法或指导将不胜感激。
Apache Spark中是否有任何方式将java RDD文本保存为XML文件?将javaRDD保存为XML文件
我目前所做的是使用saveAsTextFile方法将RDD另存为纯文本文件,然后将其转换为XML。 我有兴趣找到一种方法来直接从RDD创建XML文件。
任何提示,想法或指导将不胜感激。
您可以参考databricks xml库来读取/写入xml的数据。根据数据推测模式:
import org.apache.spark.sql.SQLContext
SQLContext sqlContext = new SQLContext(sc);
DataFrame df = sqlContext.read()
.format("com.databricks.spark.xml")
.option("rowTag", "book")
.load("books.xml");
df.select("author", "_id").write()
.format("com.databricks.spark.xml")
.option("rootTag", "books")
.option("rowTag", "book")
.save("newbooks.xml");
谢谢@FaigB的帮助。我按照你的解决方案实现了我的代码,但是我在** save **步骤中遇到了以下错误。我们可以通过下面的例子来说明如何使用java.lang.AbstractMethodError:com.databricks.spark.xml.DefaultSource.createRelation(Lorg/apache/spark/sql/SQLContext; Lorg/apache/spark/sql/SaveMode; Lscala/collection/immutable/Map; Lorg/apache/spark/sql/Dataset;)Lorg/apache/spark/sql/sources/BaseRelation;' 任何想法? –
什么是您使用的火花版本? – FaigB
我使用Spark 2.2.0和spark-xml_2-10版本0.4.1作为依赖 –