更新时间:2026-08-25 GMT+08:00
Hudi SQL使用约束
Hudi支持使用Spark SQL操作Hudi的DDL(数据定义语言)和DML(数据操作语言)语法,这使得所有用户(非工程师、分析师等)都能更轻松地访问和操作 Hudi。通过这种集成,用户可以利用熟悉的 SQL 语法来执行各种数据管理和操作任务,而无需深入了解复杂的底层技术细节。
典型使用场景包括:通过Spark SQL创建Hudi表并写入数据(数据入湖场景)、通过SQL对Hudi表执行增量更新和删除(数据变更场景)、通过SQL查询Hudi表数据进行分析(数据分析场景)。在使用上述场景操作前,需了解本文档列出的各项使用约束。
约束与限制
- 支持在Hudi客户端执行Spark SQL操作Hudi。
- 支持在Spark2x的JDBCServer中执行Spark SQL操作Hudi。
- 不支持在Spark2x的客户端执行Spark SQL操作Hudi,支持在Spark3.1.1及之后版本的客户端执行Spark SQL操作Hudi。
- 不支持在Hive、Hetu引擎中写Hudi表,以及修改Hudi表结构,仅支持读。
- 由于SQL的KeyGenerator默认是org.apache.hudi.keygen.ComplexKeyGenerator,要求DataSource方式写入时KeyGenerator与SQL设置的一致。
- 对于MOR表的修改操作只允许在主表操作,ro和rt后缀的表仅供查询使用。
- 在查询语句中字段名和别名不能相同。
相关文档
- Hudi DDL语法说明:了解Hudi支持的完整DDL语法,包括CREATE TABLE、ALTER TABLE、DROP TABLE等语句的参数说明和示例。
- Hudi DML语法说明:了解Hudi支持的完整DML语法,包括INSERT、UPDATE、DELETE、MERGE INTO等语句的参数说明和示例。
- Hudi表概述:了解COW(Copy on Write)和MOR(Merge on Read)两种表类型的原理、适用场景和性能差异,辅助选择合适的表类型。
父主题: Hudi SQL语法参考