SQL DDL - 创建和修改表

我们可以跨各种引擎使用SQL来创建和修改Hudi表。

使用SQL的一些限制

Hudi支持使用Spark SQL操作Hudi的DDL/DML的语法,使得所有用户(非工程师、分析师等)更容易访问和操作Hudi。

但是,在使用Spark SQL操作Hudi时,需要遵守一定的约束。

(1)支持在Hudi客户端执行Spark SQL操作Hudi。

(2)支持在Spark的JDBCServer中执行Spark SQL操作Hudi。

(3)不支持在Spark的客户端执行Spark SQL操作Hudi。

(4)不支持在Hive、Hetu引擎中写hudi表,以及修改hudi表结构,仅支持读。

(5)由于SQL的KeyGenerator默认是org.apache.hudi.keygen.ComplexKeyGenerator,要求DataSource方式写入时KeyGenerator与SQL设置的一致。

(6)对于MOR表的修改操作只允许在主表操作,ro和rt后缀的表仅供查询使用。

创建Hudi表-语法

可以使用标准的CREATE TABLE语法创建表,该语法支持分区和传递表属性。

CREATE TABLE [IF NOT EXISTS] [db_name.]table_name
  [(col_name data_type [COMMENT col_comment], ...)]
  [COMMENT table_comment]
  [PARTITIONED BY (col_name, ...)]
  [ROW FORMAT row_format]
  [STORED AS file_form ......
          

......

抱歉,只有登录会员才可浏览!会员登录


《Flink原理深入与编程实战》