如何删除 HUDI 表(历史)中所有提交的键?

问题描述 投票:0回答:1

对于 HUDI 表,目标是应用 GDPR 并删除表的键。 我只能删除表最新提交的数据。

如何确保删除 HUDI 表上所有提交的键?

我做了一个 POC:我执行了硬删除,应该删除整个行。

hard_delete_df = spark.sql("SELECT * FROM table_x where emp_id='1' ")
hudi_options['hoodie.datasource.write.operation'] = 'delete'
hard_delete_df.write.format("hudi").options(**hudi_options).mode("append").save(final_base_path)

这种情况发生,但仅适用于最新的提交。如果使用如下执行的时间旅行,我仍然会看到旧提交的已删除行。

df_commitbeforedelete = spark.read \
  .format("org.apache.hudi")\
  .option("as.of.instant", "timebeforedelete") \
  .load("s3a://hudi-s3/table_x")
df_commitbeforedelete.show()
scala apache-spark hadoop pyspark apache-hudi
1个回答
0
投票

您无法对以前提交的文件运行删除或更新插入等操作。时间旅行仅供只读。

您必须依赖清理,以便 hudi auto 删除旧的提交文件。

© www.soinside.com 2019 - 2024. All rights reserved.