Spark之RDD

最近又看到spark了,看看电脑上很早以前的集群感觉好多都忘记了,故复习一波。

就先从对程序员来说spark的核心RDD走起。

这篇文章讲的很详细  Spark学习之路 (三)Spark之RDD - 扎心了,老铁 - 博客园

总结

一:RDD可以理解为java里面的方法,函数。

spark集群中的每一个executor(机器)中的每一个task(thread)会处理一个RDD。

二:常用RDD

Transformation:map filter flatMap union groupByKey reduceByKey sortByKey

Action:reduce collect count countByKey

三:worldcount(scala)

val conf =new SparkConf()

val sc =new SparkContext(conf)

sc.textFile("E:\\hello.txt").flatMap(_.split(",")).map((_,1)).reduceByKey(_ + _);

四:依赖关系

窄依赖:父对子 为多对一或者一对一

宽依赖:父对子 为多对多

之所以划分依赖是为了stage(阶段,步骤)做铺垫,将一条线上连续关联的窄依赖作为一个stage,单独的一个宽依赖作为一个stage。整个流程的运行好比一个流水线的工作,每一个RDD对应一个task.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、 性能调优 1.1、 分配更多资源 1.1.1、分配哪些资源? Executor的数量 每个Executor所...
    Frank_8942阅读 4,687评论 2 36
  • 简书 Wwwwei转载请注明原创出处,谢谢! 前言   Spark是专为大规模数据处理而设计的快速通用的计算引擎,...
    Wwwwei阅读 1,494评论 0 3
  • 为什么要设计RDD 网上资料很多,这里我给罗列出来,许多的迭代算法和交互式数据挖掘工具,这些应用场景的共同点是:...
    起个什么呢称呢阅读 1,398评论 1 5
  • 1.1、 分配更多资源 1.1.1、分配哪些资源? Executor的数量 每个Executor所能分配的CPU数...
    miss幸运阅读 3,226评论 3 15
  • Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AM...
    大佛爱读书阅读 2,864评论 0 20