3

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

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

    df.checkpoint()

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

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

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

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

4

1 回答 1

2

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

df = df.checkpoint()

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

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

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

于 2021-06-10T09:12:50.583 回答