Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javaRDD另存为XML文件_Java_Xml_Apache Spark_Text Files - Fatal编程技术网

将javaRDD另存为XML文件

将javaRDD另存为XML文件,java,xml,apache-spark,text-files,Java,Xml,Apache Spark,Text Files,在ApacheSpark中有没有办法将文本的JavaRDD保存为XML文件 我目前所做的是使用savastextfile方法将RDD保存为纯文本文件,然后将其转换为XML。 我感兴趣的是找到一种从RDD直接创建XML文件的方法 任何提示、想法或指南都将不胜感激。您可以参考databricks xml库,从xml读写数据。从数据推断架构: import org.apache.spark.sql.SQLContext SQLContext sqlContext = new SQLContext(s

在ApacheSpark中有没有办法将文本的JavaRDD保存为XML文件

我目前所做的是使用savastextfile方法将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的帮助。我按照您的解决方案实现了代码,但在保存步骤中出现以下错误
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有什么想法吗?您使用的spark版本是什么?我使用spark 2.2.0和spark-xml_2-10版本0.4.1作为依赖项