hudi cli savepoint与rollback使用指南(表数据回滚)

肖钟城
  • 大数据技术栈
  • Hudi
大约 2 分钟

hudi cli savepoint与rollback使用指南(表数据回滚)

hudi-cli是hudi官方提供的以spring shell为基础构建的、操作hudi表的命令行工具。

hudi-cli内的命令以spark为引擎进行配置执行。具体可以参考hudi-cli代码。

savepoint和rollback是hudi cli提供的hudi表快照与回滚方法,通过hudi cli命令行可快速实现。

当我们编译完hudi时,进入hudi-cli包可看到如下目录:

执行如下命令进入hudi-cli:

./hudi-cli.sh

得到:

执行help命令可以看到所有可用的命令行

在正式使用之前,需要先使用connect命令连接一个hudi表,下述以t28表为例,并且已知表中先后写入过两次数据。

连接t28表:

connect --path hdfs://bigdata:9000/user/hive/warehouse/hudidb.db/t28

我们可以通过如下命令查看上述hudi表两次数据写入对应的commit

我们通过如下命令保留其中较小的commit,

savepoint create --commit 20220718214610849 --sparkMaster spark://bigdata:7077

接着从这个commit恢复hudi表

savepoint rollback --savepoint 20220718214610849 --sparkMaster spark://bigdata:7077

再次查看commits,可以看到只保留了本次commit,较新的commit已被删除

通过上述方法,可实现表数据回退。

当然,假如说只做了savepoint操作,而不做rollback,那么本次savepoint对应的commit会被保留下来,而不被clean策略清除。

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.1