数据框检查点示例 Pyspark

Dataframe Checkpoint Example Pyspark

我阅读了有关检查点的信息,它看起来很适合我的需要,但我找不到如何使用它的好例子。
我的问题是:

  1. 我应该指定检查点目录吗?是否可以这样做:

    df.checkpoint()

  2. 是否有任何我应该注意的可选参数?

  3. 是否有默认的检查点目录,或者我必须指定一个作为默认目录?

  4. 当我检查点数据框并重用它时 - 它会自动从我们写入文件的目录中读取数据?

如果您能与我分享在 pyspark 中使用检查点的示例并提供一些解释,那就太好了。谢谢!

您应该将检查点数据帧分配给一个变量,如checkpoint“Returns此数据集的检查点版本”(https://spark.apache.org/docs/3.1.1/api/python/reference/api/pyspark.sql.DataFrame.checkpoint.html)。所以

df = df.checkpoint()

唯一的参数是eager,它指示您是否希望检查点触发一个动作并立即保存,默认情况下是True,您通常希望保持这种状态。

在使用检查点之前,您必须在脚本中的某处使用 SparkContext.setCheckpointDir(dirName) 设置检查点目录。或者,如果你想保存到内存中,你可以使用 localCheckpoint() 而不是 checkpoint() 但这不可靠,如果 issues/after 终止,检查点将丢失(但它应该更快因为它使用缓存子系统而不是只写入磁盘)。

是的,它应该是自动读取的,你可以查看历史服务器,blocks/queries[的开头应该有“加载数据”节点(我不记得确切的名称)