Spark API编程动手实战-05-spark文件操作和debug

这次 我们以指定executor-memory参数的方式来启动spark-shell:

Spark API编程动手实战-05-spark文件操作和debug_第1张图片

启动成功了

 

在命令行中我们指定了spark-shell运行暂用的每个机器上的executor的内存为1g大小,启动成功后参看web页面:

Spark API编程动手实战-05-spark文件操作和debug_第2张图片

 

从hdfs上读取文件:

Spark API编程动手实战-05-spark文件操作和debug_第3张图片

 

在命令行中返回的MappedRDD,使用toDebugString,可以查看其lineage的关系:

Spark API编程动手实战-05-spark文件操作和debug_第4张图片

可以看出MappedRDD是从HadoopRDD转换而来的

再看下textFile的源代码:

Spark API编程动手实战-05-spark文件操作和debug_第5张图片

 

hadoopFile这个方法返回的是一个HadoopRDD,源码如下所示:

Spark API编程动手实战-05-spark文件操作和debug_第6张图片

Spark API编程动手实战-05-spark文件操作和debug_第7张图片

而map方法产生的是一个MappedRDD:

Spark API编程动手实战-05-spark文件操作和debug_第8张图片

 

下面进行一个简单的wordcount操作:

Spark API编程动手实战-05-spark文件操作和debug_第9张图片

执行结果:

再次使用toDebugString,查看下依赖关系:

Spark API编程动手实战-05-spark文件操作和debug_第10张图片

HadoopRDD -> MappedRDD -> FlatMappedRDD ->  MappedRDD -> ShuffledRDD 

你可能感兴趣的:(executor-memory,HadoopRDD,MappedRDD,FlatMappedRDD,ShuffledRDD)