美文网首页
SPARK[RDD之partitions]

SPARK[RDD之partitions]

作者: 北风第一支 | 来源:发表于2017-07-16 12:20 被阅读0次

RDD是容错、并行的数据结构,具备分区的属性,这个分区可以是单机上分区也可以是多机上的分区,对于RDD分区的数量涉及到这个RDD进行并发计算的粒度。每一个分区都会在一个单独的task中执行。

可以为其指定分区个数,如果从hdfs文件创建的RDD,分区数和block数一致,如果从本地文件中创建RDD,默认是机器的cpu个数。

//不设置分区数量
>val rdd = sc.textFile("/home/reducer2/cluster/hadoop/readme.md")
>rdd.partitions.size
res0: INT = 8  //为cpu的个数

//设置分区个数
>val rdd = sc.textFile("/home/reducer2/cluster/hadoop/readme.md",6);

RDD的首选位置 preferredLocations
spark在执行任务时,会尽可能的把算子分配到离数据最近的节点上,减少数据的网络IO,当RDD生成的位置就是首选位置,如果是HDFS生成的RDD,那首选位置就是block所在在的节点。如果是经过转换后的RDD,则算子应该分配到RDD所在的节点上。

如果一个大文件40G,生成一个RDD,产生与block个数一样多的分区,默认一个block为128M,则会产生320个block(partitions),假如共有5台natanode平均分配了这320个block,每个datanode上至少有64个分区。现在要对分区1进行计算,第一步则需要知道RDD分区1的首选位置:

val location = rdd.preferredLocations(rdd.dependecies(0))
res1:Set[String] =(192.168.110.1,192.168.110.2,192.168.110.3) //和block的复制数一致

而在真实的开发过程中,我们并没有去关注单个分区的执行的情况,而是类似于:

val rdds = sc.textFile("/.../..");
varl count = rdds.filter(line=>line.contains("error"))

在执行filter的时候,实际上就是每个分区都会执行这个函数,最后会生成一个新的RDD,新RDD的分区情况可能和先前的分区大致相同,在相同机器节点上,减少机器间的数据重排。

相关文章

  • Spark--Spark RDD知识点总结

    Spark RDD五大属性 1) A list of partitions :有很多分区(Partitions),...

  • SPARK[RDD之partitions]

    RDD是容错、并行的数据结构,具备分区的属性,这个分区可以是单机上分区也可以是多机上的分区,对于RDD分区的数量涉...

  • Spark RDD详解

    SparkRDD 在Spark中RDD具有5个主要的属性: A list of partitions A func...

  • spark

    rdd 特点* - A list of partitions* - A function for comput...

  • spark RDD的内部数据结构及不足

    RDD由以下几个主要部分组成:partitions,partition集合,一个RDD中有多个data parti...

  • Spark RDD Api使用指南

    ​ 在Spark快速入门-RDD文章中学了spark的RDD。spark包含转换和行动操作。在进行spark程...

  • SparkCore之RDD

    RDD 五大特性 A list of partitions一组分区:多个分区,在RDD中用分区的概念。 A fun...

  • RDD依赖关系

    前言 RDD的五大特性 A list of partitions一组分区:多个分区,在RDD中用分区的概念。 A ...

  • Spark源码之DAGScheduler

    Spark源码之DAGScheduler介绍篇 Spark Application中的RDD经过一系列的Trans...

  • 2 通过案例对SparkStreaming透彻理解之二

    Spark Core是基于RDD形成的,RDD之间都会有依赖关系。而Spark Streaming是在RDD之上增...

网友评论

      本文标题:SPARK[RDD之partitions]

      本文链接:https://www.haomeiwen.com/subject/ucutkxtx.html