Skip to main content

湖内建表

目前平台支持创建两种类型的湖表: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,在使用上更加灵活方便,更符合数据开发的习惯。

Paimon向导模式建表(正在开发中。。。)