Spark操作分为transformation和action,现将常用的记录在此:
//transformation
//将元素一个一个转换
JavaRDD<String> map = raw.map(new Function<String, String>() {
@Override
public String call(String string) throws java.lang.Exception {
return string+"!";
}
});
//返回结果依true、false结果来定
JavaRDD<String> filter = raw.filter(new Function<String, Boolean>() {
@Override
public Boolean call(String s) throws java.lang.Exception {
return s.length()>11;
}
});
//将每一个元素先进行内部处理,再讲所有部分经过处理的元素再合并
JavaRDD<String> flatmap = raw.flatMap(new FlatMapFunction<String, String>() {
@Override
public Iterator<String> call(String s) throws java.lang.Exception {
return Arrays.asList(s.split(" ")).iterator();
}
});
//该函数和map函数类似,只不过映射函数的参数由RDD中的每一个元素变成了RDD中每一个分区的迭代器。
//如果在映射的过程中需要频繁创建额外的对象,使用mapPartitions要比map高效的多。例如在写入数据库
//时,map会为每一个partition创建一个connection&#