CREATE TABLE
CREATE TABLE命令通过指定带有表属性的字段列表来创建Hudi Table。
格式:
CREATE TABLE [ IF NOT EXISTS] [database_name.]table_name
[ (columnTypeList)]
USING hudi
[ COMMENT table_comment ]
[ LOCATION location_path ]
[ OPTIONS (options_list) ]
创建非分区表
创建一个cow内部表
create table if not exists hudi_table0 (
id int,
name string,
price double
) using hudi
options (type = 'cow',
primaryKey = 'id'
);
创建一个mor外部表
create table if not exists hudi_table1 (
id int,
name string,
price double,
ts bigint
) using hudi
location '/tmp/hudi/hudi_table1'
options (
type = 'mor',
primaryKey = 'id,name',
preCombineField = 'ts'
);
创建分区表
create table if not exists hudi_table_p0 (
id bigint,
name string,
ts bigint,
dt string,
hh string
) using hudi
location '/tmp/hudi/hudi_table_p0'
options (
type = 'cow',
primaryKey = 'id',
preCombineField = 'ts'
)
partitioned by (dt, hh);
以SQL方式创建一个hudi表的外表,与spark-shell or deltastreamer方式创建的hudi外表相同
create table h_p1
using hudi
options (
primaryKey = 'id',
preCombineField = 'ts'
)
partitioned by (dt)
location '/path/to/hudi';
创建表指定表属性
create table if not exists h3(
id bigint,
name string,
price double
) using hudi
options (
primaryKey = 'id',
type = 'mor',
hoodie.cleaner.fileversions.retained = '20',
hoodie.keep.max.commits = '20'
);
备注:Hudi当前不支持使用char、varchar、tinyint、smallint类型,建议使用string或int类型。
CREATE TABLE AS SELECT
CREATE TABLE As SELECT命令通过指定带有表属性的字段列表来创建Hudi Table。
格式: