在 Amazon EMR 版本 5.28.0 及更高版本中, Amazon EMR 默认情况下会在安装 Spark、Hive 或 Presto 时安装 Hudi 组件。
Amazon EMR的版本和hudi的版本对应可以参考文档:Hudi 发行版历史记录
可以使用下面命令进入hudi-cli
1 | /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 | connect --path s3://bucket_name/path_xxx |
2.查看hudi表的属性#
1 | desc |
3.查看commit的完成情况#
1 | commits show |
4.查看compaction的完成情况#
1 | compactions show all |
当第一个compaction的状态是COMPLETED的时候,说明第一个合并任务已经完成,此时路径下就会出现parquet文件,如果是MOR表,就可以在ro表中查询到数据
5.查看未完成的instant#
1 | timeline show incomplete |
注意查看deltacommit的状态变为completed状态的时候,需要重新connect这张表或者使用commits refresh命令来刷新元数据,然后再命令timeline show incomplete,才能获取到最新的deltacommit,否者永远都是之前的deltacommit
重新连接hudi表,看到新的 06-12 06:35 的deltacommit
或者使用commits refresh命令刷新一下