Advertisement

RDD持久化操作主要包括缓存(Cache)、持久化(Persist)和断点检查(Checkpoint)。

阅读量:

这段伪代码的瑕疵:

复制代码
 lines = sc.textFile(“hdfs://...”)

    
 errors = lines.filter(_.startsWith(“ERROR”))
    
 mysql_errors = errors.filter(_.contain(“MySQL”)).count
    
 http_errors = errors.filter(_.contain(“Http”)).count

errors 是一个 RDD,在 mysql_errors 这个 RDD 执行时会先读取文件并获取其内容;接着通过计算 errors 来得到结果,并将这些结果传递给 mysql_errors 进行处理;由于 RDD 不存储数据,在 http_errors 进行计算时会重新读取文件以获取新的内容;然后在计算过程中生成的 errors 也会被传递给 http_errors 并用于其后续的处理步骤;为了使其他 RDD 能够访问到这些错误信息,请确保将 errors RDD 持久化以便其他 RDD 能够访问到这些错误信息

RDD 持久化有三个算子:cache、persist、checkpoint

  • cache:把 RDD 持久化到内存

使用方法:

复制代码
 var rdd = sc.textFile("

全部评论 (0)

还没有任何评论哟~