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)
还没有任何评论哟~
