湖内建表
目前平台支持创建两种类型的湖表:Iceberg、Hudi
目前平台支持两种创建逻辑:向导模式、SQL模式(适用于具备SQL能力的用户)
Iceberg向导模式建表
基本信息
数据格式支持Parquet、ORC、Avro
普通列
创建、维护字段信息,支持主键
分区列
在已有字段中,选择一个作为分区字段,并进行函数转换。比如您选择了一个ts字段(timestamp类型),打算将该表按天进行分区。则需要选择「day」函数。
每种函数的业务逻辑和类型限制,详见:https://iceberg.apache.org/spec/#partition-transforms
索引
仅支持Bloom策略,选择一个字段作为索引字段。
note数据进行Parquet、ORC列式存储时,可以支持数据进行多行组切分,通过对当前行组下列字段进行算法索引构建,可以有效提高数据查询效率。
自定义参数
Format-version:默认为V2表
V2相比于V1表,具备行级更新和删除的能力,并且无需重写文件。具体差别可查看:https://iceberg.apache.org/spec/
write.delete.mode:默认为merge-on-read
copy-on-write:写时复制,适用于读多写少的场景。
merge-on-read:读时合并,适用于读少写多的场景,保障数据的插入、更新、删除性能。
write.target-file-size-bytes:默认512MB
控制数据文件生成的大小。
History.expire.max-snapshot-age-ms:默认5天
控制快照的过期时间。
更多参数及其作用,请查看:https://iceberg.apache.org/docs/latest/configuration/
Hudi向导模式建表
基本信息
数据格式仅支持Parquet
表结构
维护字段信息,并在已有字段上指定主键字段、分区字段
自定义参数
type:默认为mor(merge-on-read)
特性原理和iceberg表相同。
preCombineField:默认填充ts
预合并字段。当数据重复写入时(同一主键多条记录),程序根据预合并字段进行去重,保留ts值最大的一条记录。
index_type:默认bloom
索引类型,支持bloom、global_bloom、simple、global_simple、HBase、inmemory、bucket
更多参数及其作用,请查看:https://hudi.apache.org/docs/configurations
SQL模式建表
进入「向导模式建表」页面,用户在右上角可以点击切换「SQL模式建表」。
用户可以直接在IDE内创建、编辑Iceberg/Hudi表的SQL,在使用上更加灵活方便,更符合数据开发的习惯。