1

如何在 LakeFS 中查找和硬删除超过 n 天的对象?稍后这将是一个预定的工作。

4

1 回答 1

3

为此,您应该使用lakeFS 中的垃圾收集(GC)功能。

注意:此功能仅在从您的 LakeFS 分支中删除对象后才会从存储中清除对象。

您将需要:

  1. 定义 GC 规则以设置所需的保留期。

    在 LakeFS UI 中,转到要硬删除对象的存储库 -> 设置 -> 保留,并为存储库下的每个分支定义 GC 规则。例如 -

    {
        "default_retention_days": 21,
        "branches": [
            {"branch_id": "main", "retention_days": 28},
            {"branch_id": "dev", "retention_days": 7}
        ]
    }
    
  2. 运行执行实际清理的 GC Spark 作业,使用 -

    spark-submit --class io.treeverse.clients.GarbageCollector \
      -c spark.hadoop.lakefs.api.url=https://lakefs.example.com:8000/api/v1  \
      -c spark.hadoop.lakefs.api.access_key=<LAKEFS_ACCESS_KEY> \
      -c spark.hadoop.lakefs.api.secret_key=<LAKEFS_SECRET_KEY> \
      -c spark.hadoop.fs.s3a.access.key=<S3_ACCESS_KEY> \
      -c spark.hadoop.fs.s3a.secret.key=<S3_SECRET_KEY> \
      --packages io.lakefs:lakefs-spark-client-301_2.12:0.5.0 \
      example-repo us-east-1
    
于 2021-11-28T09:37:29.080 回答