1. RDD的创建
1.1 RDD创建方式
RDD的3种基本的创建方式
- 使用程序中的集合创建RDD;
- 使用本地文件系统创建RDD;
- 使用HDS创建RDD
其他:
- 基于DB创建RDD
- 基于NoSQL,例如HBase
- 基于S3创建RDD
- 基于数据流创建RDD
不同方式的意义
- 通过集合创建RDD的实际意义:测试
- 使用本地文件系统创建RDD的作用:测试大量数据文件
- 使用HDFS创建RDD:生产环境最常用的RDD创建方式
下面以代码演示通过集合创建RDD:
package cn.whbing.spark.SparkApps.cores;
import java.util.ArrayList;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.Function2;
public class RDDBasedOnCollection {
public static void main(String[] args) {
SparkConf conf = new SparkConf();
conf.setAppName("RDD based on javaCollection").setMaster("local");
JavaSparkContext sc = new JavaSparkContext(conf);
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i=0;i<100;i++){
list.add(i+1);
}
JavaRDD<Integer> rdd = sc.parallelize(list);
Integer sum = rdd.reduce(new Function2<Integer, Integer, Integer>() {
@Override
public Integer call(Integer v1, Integer v2) throws Exception {
return v1+v2;
}
});
System.out.println(sum);
}
}
本地直接运行即可打印结果:
17/12/08 12:07:26 INFO DAGScheduler: Job 0 finished: reduce at RDDBasedOnCollection.java:26, took 3.750192 s
5050
17/12/08 12:07:26 INFO SparkContext: Invoking stop() from shutdown hook