Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.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
如何在spark scala中将Iterable[String]保存到hdfs_Scala_Hadoop_Apache Spark_Mapreduce_Rdd - Fatal编程技术网

如何在spark scala中将Iterable[String]保存到hdfs

如何在spark scala中将Iterable[String]保存到hdfs,scala,hadoop,apache-spark,mapreduce,rdd,Scala,Hadoop,Apache Spark,Mapreduce,Rdd,如何在spark scala中将可编辑的[String]输出保存到hdfs。 Iterable[字符串] 注意:ouput不是RDD(我不能使用output.saveAsTextFile(“hdfs路径”)一种方法是只编写一个简单的hdfs文件(与在vanilla Scala或Java中的方法相同)。这与Spark无关 另一种方法是将输出转换为RDD并保存 val ordersRDD = sc.textFile("/user/cloudera/sqoop_import/orders"); val

如何在spark scala中将可编辑的[String]输出保存到hdfs。 Iterable[字符串]


注意:ouput不是RDD(我不能使用output.saveAsTextFile(“hdfs路径”)

一种方法是只编写一个简单的hdfs文件(与在vanilla Scala或Java中的方法相同)。这与Spark无关

另一种方法是将
输出
转换为RDD并保存

val ordersRDD = sc.textFile("/user/cloudera/sqoop_import/orders");
val ordersRDDStatus = ordersRDD.map( rec => (rec.split(",")(3), 1));
val countOrdersStatus = ordersRDDStatus.countByKey();
val output = countOrdersStatus.map(input => input._1 + "\t" + input._2);
val output = countOrdersStatus.map(input => input._1 + "\t" + input._2)
sc.makeRDD(output.toList).saveAsTextFile("hdfs-path")