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

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

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

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

启动成功了

?

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

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

?

从hdfs上读取文件:

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

?

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

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

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

再看下textFile的源代码:

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

?

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

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

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

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

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

?

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

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

执行结果:

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

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

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

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

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

上一篇:【程序启动四大对象】UIWindow


下一篇:Activiti入门——环境搭建和核心API简介