这次 我们以指定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 

相关文章:

  • 2021-06-30
  • 2021-11-22
  • 2021-11-18
  • 2021-05-27
  • 2021-10-14
  • 2022-03-01
  • 2021-04-12
  • 2021-05-14
猜你喜欢
  • 2021-04-22
  • 2021-08-14
  • 2021-07-20
  • 2021-08-31
  • 2021-09-17
  • 2021-12-09
  • 2021-11-04
相关资源
相似解决方案