数据仓库服务 GAUSSDB(DWS)-创建Hudi数据描述(外表):编写DWS表定义

时间:2024-12-09 15:13:23

编写DWS表定义

  • 非bucket表

    复制 MRS 表所有列的定义,做适当的类型转换以适配DWS语法,创建OBS外表:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    CREATE FOREIGN TABLE rtd_mfdt_int_currency_ft(
    _hoodie_commit_time text,
    _hoodie_commit_seqno text,
    _hoodie_record_key text,
    _hoodie_partition_path text,
    _hoodie_file_name text,
    ...
    )SERVER obs_server OPTIONS (
    foldername '/erpgc-obs-test-01/s000/sbi_fnd/rtd_mfdt_int_currency_t/',
    format 'hudi',
    encoding 'utf-8'
    )distribute by roundrobin;
    

    其中,foldername为hudi数据在OBS上存储路径,对应MRS中Spark-sql表定义中的LOCATION,末尾要以“/”结尾。

  • bucket表

    复制MRS表所有列的定义,做适当的类型转换以适配DWS语法,创建OBS外表,指定hash分布方式:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    CREATE FOREIGN TABLE rtd_mfdt_int_currency_ft(
    _hoodie_commit_time text,
    _hoodie_commit_seqno text,
    _hoodie_record_key text,
    _hoodie_partition_path text,
    _hoodie_file_name text,
    ...
    )SERVER obs_server OPTIONS (
    foldername '/erpgc-obs-test-01/s000/sbi_fnd/rtd_mfdt_int_currency_t/',
    format 'hudi',
    encoding 'utf-8'
    )distribute by hash(bk_col1,bk_col2...);
    

    其中,foldername为hudi数据在OBS上存储路径,对应MRS中Spark-sql表定义中的LOCATION,末尾要以“/”结尾;

    distribute by为bucket表的分布列,与foldername/.hoodie/hoodie.index.properties文件中的hoodie.bucket.index.hash.field属性值保持一致。

support.huaweicloud.com/devg-910-dws/dws_04_1073.html