【发布时间】:2014-10-08 07:31:40
【问题描述】:
我想将一些 JavaRDD 集合的不同存储到 Spark 中的文件中?
通过使用 RDD 的 distinct() 方法,我无法达到同样的效果。
我的猜测是 RDD 将每个元素视为一个单独的实例。在这种情况下,我们如何实现不同。
下面是sn-p代码,谁能帮忙?
public static void main(String[] args) {
SparkConf conf = new SparkConf().setAppName("Xml Spark Demo");
JavaSparkContext sc = new JavaSparkContext(conf);
JavaSQLContext sqlContext = new org.apache.spark.sql.api.java.JavaSQLContext(
sc);
// Load a text file and convert each line to a JavaBean.
JavaRDD<String> dataFromFile = sc.textFile(
"/home/kedarnath/Rentals/inputData/temp-01.xml").map(
new ParseAgentFromXml());
//Need distinct values here
dataFromFile.distinct().saveAsTextFile("/home/kedarnath/Rentals/testOutputDistinct.txt");
}
提前致谢,
~凯达
【问题讨论】:
-
请提供更多信息,了解您所指的“与文件不同的一些 JavaRDD 集合”。
-
举个例子是个好主意。
-
感谢@MikelUrkia 的回复!这是快速示例:我想从 JavaRDD 中获取不同的字符串并给它们唯一的编号(autoIncrement)。假设我的 JavaRDD 包含以下字符串:"abc","abc","def","pqr","abc","abc","def","pqr" 我希望输出为:1,"abc" 2, "def" 3,"pqr" 你能帮忙吗?谢谢,~Kedar
-
请更新问题以便更容易理解示例。包括您正在寻找的内容以及您实际获得的内容作为输出。这样我们就能更有效地帮助您。
标签: java apache-spark rdd