大数据开发之调优

1.1避免创建重复RDD

        通常指,在开发spark作业中,首先基于某个数据源,(如hive或hdfs文件)创建一个初始RDD,接着对这个RDD进行某个算子操作,然后得到下一个RDD,以此类推,循环往复,直到计算出我们需要的结果;在此过程中多个RDD会通过不同算子操作串起来。这个RDD串 `RDD lineage` 也就是RDD的血缘关系链。

   **在我们开发中注意,对于同一份数据,只创建一个RDD,不能创建多个RDD来代表同一份据。

 

1.2尽可能复用同一个RDD

  1.我们除了在开发中避免对同一份完全相同数据创建多个RDD之外,与此同时在数据执行算子还要尽可能复用一个RDD;

  2.比如有一个RDD数据格式为k-v类型,另一个是单v类型,这两个RDD的value数据完全一样,那么此时我们可以只使用k-v类型的那个RDD,因为其中已经包含了另一个的数据,对于类似这种多个RDD有重叠或包含的情况,我们尽量复用一个RDD,这样可以减少算子执行次数,也可以减少RDD的数量。 

1.3对于多次使用RDD进行持久化

  1.3.1概述

    

猜你喜欢

转载自www.cnblogs.com/123hll/p/11068649.html