数据仓库服务 GaussDB(DWS)-做结果表:UDF函数DnHashFunction参数说明

时间:2025-01-26 10:51:37

UDF函数DnHashFunction参数说明

参数格式

dn_hash('dws表名',sink并行度,最大并行度,dws作为分布列的数据在源数据的字段名称{1,})

参数说明

  1. 使用时上游并行度必须不多于sink并行度,DnHashFunction同样是通过进程内获取sink 算子初始化的dws client实例获取到的表元数据,如果当前进程无sin算子就会导致无法获取client实例。
  2. 使用后会增加一个hash算子,如果链路有多个算子处理业务,当执行hash算子后不可以再有改变数据分区的算子,否则数据会被再次分区就不能到达指定sink算子。
  3. 最大并行度默认flink自动调整的,算法中需要使用,因此自动调整的无法使用,必须通过参数设置固定并把设置额值作为UDF的参数,可以通过参数pipeline.max-parallelism设置或者jar方式通过API设置:
    StreamExecutionEnvironment evn = StreamExecutionEnvironment.getExecutionEnvironment();evn.setParallelism(1);evn.setMaxParallelism(1024);
  4. 如果分布列包含多个字段,分布列的字段顺序需要保持和DWS一致,分布列支持的字段类型和dws client一致参考参数WRITE_PARTITION_POLICY,使用功能同样需要额外配置,不可自行使用。
support.huaweicloud.com/tg-dws/dws_07_0184.html