常用SQL介绍
- MRS后台客户端执行Hudi相关的SQL,必须source Hudi的component_env。
- DGC执行Hudi相关的SQL,如果是API连接必须在作业的运行中参数添加“--conf spark.support.hudi=true”。
| 功能 | SQL写法 | 注意事项 |
|---|---|---|
| 更新写 |
| 常用于集成加工Hudi表,按照主键去更新SinkTable的数据。 |
| 覆盖写 |
|
|
| 覆盖写 |
|
|
| bulk_insert写入 | 参考常用参数介绍及使用场景章节. | 仅适用Hudi表做第一次迁移。 |
| 更新写 |
| 常用于快速修正Hudi中的小批量数据,不适合直接用于集成加工。 |
| merge into语法 |
| 不推荐。 |
| 删除行级数据 |
| delete操作会写入数据,删除的数据量越大,delete执行越慢,适合用于删除小批量数据。 |
| 查询Hudi表结构 | desc formatted SinkTable | 查询Hudi表所有信息,推荐使用。 |
| 查询Hudi表结构 | show create table SinkTable | 查询Hudi表所有信息,不推荐,可读性差。 |
| 删除分区 |
| |
| 删除表 |
|
|
| 查看Hudi表compaction计划 | show compaction on SinkTable | 查看返回结果的第二列action,如果值是commit则该计划已经被运行,如果值是compaction则该计划没有被执行。 |
| 变更Schema | ||
| 执行compaction | run compaction on SinkTable | 不能直接单条命令执行,请参考选择合适的表服务执行方式和常用参数介绍及使用场景。 |
| 执行clean | run clean on SinkTable | 不能直接单条命令执行,请参考选择合适的表服务执行方式和常用参数介绍及使用场景。 |
| 执行archive | run archivelog on SinkTable | 不能直接单条命令执行,请参考选择合适的表服务执行方式和常用参数介绍及使用场景。 |