如何在 LakeFS 中硬删除超过 n 天的对象?
How to hard delete objects older than n-days in LakeFS?
如何在LakeFS中查找并硬删除超过n天的对象?稍后它会是一个预定的工作。
为此,您应该使用 lakeFS 中的 Garbage Collection (GC) 功能。
注意:此功能仅在对象从 lakeFS 的分支中删除后才从存储中清除对象。
您将需要:
定义 GC 规则以设置所需的保留期。
从lakeFS UI,转到您要从中硬删除对象的存储库 -> 设置 -> 保留,并为存储库下的每个分支定义 GC 规则。例如-
{
"default_retention_days": 21,
"branches": [
{"branch_id": "main", "retention_days": 28},
{"branch_id": "dev", "retention_days": 7}
]
}
运行 执行实际清理的 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
如何在LakeFS中查找并硬删除超过n天的对象?稍后它会是一个预定的工作。
为此,您应该使用 lakeFS 中的 Garbage Collection (GC) 功能。
注意:此功能仅在对象从 lakeFS 的分支中删除后才从存储中清除对象。
您将需要:
定义 GC 规则以设置所需的保留期。
从lakeFS UI,转到您要从中硬删除对象的存储库 -> 设置 -> 保留,并为存储库下的每个分支定义 GC 规则。例如-
{ "default_retention_days": 21, "branches": [ {"branch_id": "main", "retention_days": 28}, {"branch_id": "dev", "retention_days": 7} ] }
运行 执行实际清理的 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