使用Hudi-Cli.sh操作Hudi表
前提条件
- 对于开启了Kerberos认证的安全模式集群,已在集群FusionInsight Manager界面创建一个用户并关联“hadoop”和“hive”用户组。
 - 已下载并安装Hudi集群客户端。
 
基础操作
- 使用root用户登录集群客户端节点,执行如下命令:
    
cd {客户端安装目录}
source bigdata_env
source Hudi/component_env
kinit 创建的用户
 - 执行hudi-cli.sh进入Hudi客户端,
    
cd {客户端安装目录}/Hudi/hudi/bin/
./hudi-cli.sh

 - 即可执行各种Hudi命令,执行示例:
    
- 查看帮助:
      
      
help 'command' //查看某一个命令的帮助及参数列表。
 - 连接表:
 - 查看表信息:
 - 查看compaction计划:
 - 查看clean计划:
 - 执行clean:
 - 查看commit信息:
 - 查看commit写入的分区:
      
commit showpartitions --commit 20210127153356
 
       20210127153356表示commit的时间戳,下同。
 - 查看指定commit写入的文件:
 - 比较两个表的commit信息差异:
 - rollback指定提交(rollback每次只允许rollback最后一次commit):
 - compaction调度:
      
compaction schedule --hoodieConfigs 'hoodie.compaction.strategy=org.apache.hudi.table.action.compact.strategy.BoundedIOCompactionStrategy,hoodie.compaction.target.io=1,hoodie.compact.inline.max.delta.commits=1'
 - 执行compaction
      
compaction run --parallelism 100 --sparkMemory 1g --retry 1 --compactionInstant 20210602101315 --hoodieConfigs 'hoodie.compaction.strategy=org.apache.hudi.table.action.compact.strategy.BoundedIOCompactionStrategy,hoodie.compaction.target.io=1,hoodie.compact.inline.max.delta.commits=1' --propsFilePath hdfs://hacluster/tmp/default/tb_test_mor/.hoodie/hoodie.properties --schemaFilePath /tmp/default/tb_test_mor/.hoodie/compact_tb_base.json
 - 创建savepoint
 - 回滚指定的savepoint
      
savepoint rollback --savepoint 20210318155750
 
       - 若commit写入导致元数据冲突异常,执行commit rollback、savepoint rollback能回退数据,但不能回退Hive元数据,只能删除Hive表然后手动进行同步刷新。
 - commit rollback只能回退当前最新的一个commit,savepoint rollback只能回退到最新的一个savepoint。二者均不能随意指定进行回退。
 
 
 - 查看帮助: