tonglin0325的个人主页

hudi-cli使用

在 Amazon EMR 版本 5.28.0 及更高版本中, Amazon EMR 默认情况下会在安装 Spark、Hive 或 Presto 时安装 Hudi 组件。

参考:创建安装了 Hudi 的集群

Amazon EMR的版本和hudi的版本对应可以参考文档:Hudi 发行版历史记录

可以使用下面命令进入hudi-cli

1
2
/usr/lib/hudi/cli/bin/hudi-cli.sh

hudi-cli如下

退出cli,输入exit

我们可以在hive中注册hudi表,然后使用hive,sparkSQL或者presto对其进行查询

参考:Hudi 的工作原理

常用命令:Apache Hudi数据湖hudi-cli客户端使用

官方文档:

1
https://hudi.apache.org/docs/cli#local-set-up

1.连接hudi表#

1
2
connect --path s3://bucket_name/path_xxx

2.查看hudi表的属性#

1
2
desc


 

3.查看commit的完成情况#

1
2
commits show

 

4.查看compaction的完成情况#

1
2
compactions show all

当第一个compaction的状态是COMPLETED的时候,说明第一个合并任务已经完成,此时路径下就会出现parquet文件,如果是MOR表,就可以在ro表中查询到数据

5.查看未完成的instant#

1
2
timeline show incomplete

注意查看deltacommit的状态变为completed状态的时候,需要重新connect这张表或者使用commits refresh命令来刷新元数据,然后再命令timeline show incomplete,才能获取到最新的deltacommit,否者永远都是之前的deltacommit

重新连接hudi表,看到新的 06-12 06:35 的deltacommit

或者使用commits refresh命令刷新一下