spark更改分区_用于小文件的spark重新分区数据
我對Spark非常新,我主要使用集群來實現并行化目的。我有一個100MB的文件,其中的每一行都通過一些算法進行處理,這是相當繁重和長時間的處理。用于小文件的spark重新分區數據
我想使用10節點群集并行處理。我知道塊大小超過100MB,我試圖重新分區textFile。如果我沒有理解好,這repartition方法增加分區的數量:
JavaRDD input = sc.textFile(args[0]);
input.repartition(10);
的問題是,當我部署到集群中,只有一個節點被有效地處理。我怎樣才能設法平行處理文件?
更新1:這里是我的??命令:
/usr/bin/spark-submit --master yarn --class mypackage.myclass --jars
myjar.jar
gs://mybucket/input.txt outfile
更新2:分區后,基本上有兩種操作:
JavaPairRDD int_input = mappingToPair(input);
JavaPairRDD output = mappingValues(int_input, option);
output.saveAsTextFile("hdfs://...");
其中mappingToPair(...)是
public JavaPairRDD mappingToPair(JavaRDD input){
return input.mapToPair(new PairFunction() {
public Tuple2 call(String line) {
String[] arrayList = line.split("\t", 2);
return new Tuple2(arrayList[0], arrayList[1]);
}
});
}
和mappingValues(...)是以下類型的方法:
public JavaPairRDD mappingValues(JavaPairRDD rdd, final String option){
return rdd.mapValues(
new Function() {
// here the algo processing takes place...
}
)
}
2016-12-14
Newben
+0
可能會添加更多代碼來描述重新分區后發生的情況,否則問題不明確。 –
+0
也向我們展示了你已經啟動的spark提交cmd。 –
+0
@UmbertoGriffo這里的命令是 –
總結
以上是生活随笔為你收集整理的spark更改分区_用于小文件的spark重新分区数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实现文件中名词的统计计数_通过勤哲EXC
- 下一篇: esrgan_港中文-商汤联合实验室:E