数据湖计算 DLC

最近更新时间:2024-12-11 10:13:02

我的收藏

版本说明

Flink 版本
说明
1.11
不支持
1.13
支持
1.14
不支持
1.16
支持

使用范围

可以作为 Sink 使用。目前支持写入 DLC 托管的原生表。

DDL 定义

CREATE TABLE `eason_internal_test`(
`name` STRING,
`age` INT
) WITH (
'connector' = 'iceberg-inlong',
'catalog-database' = 'test',
'catalog-table' = 'eason_internal_test',
'default-database' = 'test',
'catalog-name' = 'HYBRIS',
'qcloud.dlc.secret-id' = 'xxx',
'qcloud.dlc.secret-key' = 'xxx',
'qcloud.dlc.region' = 'ap-guangzhou',
'qcloud.dlc.jdbc.url' = 'jdbc:dlc:dlc.internal.tencentcloudapi.com?task_type=SparkSQLTask&database_name=test&datasource_connection_name=DataLakeCatalog&region=ap-guangzhou&data_engine_name=dailai_test',
'user.appid' = '1257058945'
);

WITH 参数

通用参数

参数值
必填
默认值
描述
connector
connector 类型,必须填 iceberg-inlong
catalog-database
DLC 内表所在的数据库名称
catalog-table
DLC 内表名称
default-database
DLC 内表所在的数据库名称
catalog-name
catalog 名称,必须填 HYBRIS
qcloud.dlc.secret-id
DLC 用户的 secretId,从 https://console.cloud.tencent.com/cam/capi 中获取
qcloud.dlc.secret-key
DLC 用户的 secretKey,从 https://console.cloud.tencent.com/cam/capi 中获取
qcloud.dlc.region
DLC 所在地域,必须填 ap-地域 格式
qcloud.dlc.jdbc.url
DLC jdbc 接入 url,格式见 JDBC 访问
user.appid
DLC 用户的 appid
sink.ignore.changelog
是否忽略 delete 数据,默认为 false,设为 true 则进入 append mode

DLC 表配置

Upsert 模式
-- DLC 建表语句
CREATE TABLE `bi_sensor`(
`uuid` string,
`id` string,
`type` string,
`project` string,
`properties` string,
`sensors_id` string,
`time` int,
`hour` int) PARTITIONED BY (`time`);
-- 将目标表设为 v2 表,允许 upsert
ALTER TABLE `bi_sensor` SET TBLPROPERTIES ('format-version'='2','write.metadata.delete-after-commit.enabled' = 'true', 'write.metadata.previous-versions-max' = '100', 'write.metadata.metrics.default' = 'full', 'write.upsert.enabled'='true', 'write.distribution-mode'='hash');

-- oceanus sink DDL,dlc 的主键和分区字段必须在 flink 定义的主键字段中
create table bi_sensors (
`uuid` STRING,
`id` STRING,
`type` STRING,
`project` STRING,
`properties` STRING,
`sensors_id` STRING,
`time` int,
`hour` int,
PRIMARY KEY (`uuid`, `time`) NOT ENFORCED
) with (...)
注意:
若您写入的 DLC 是基于元数据加速桶的,需要参考如下操作流程。

基于元数据加速桶的 DLC 操作流程

客户为 Oceanus 集群设置元数据加速桶的 DLC 权限

1. 进入 数据湖计算 DLC 控制台,单击全局配置 > 存储配置 > 元数据加速桶配置
2. 选择需要写入的托管桶,单击配置
3. 单击新增权限配置,网络选择创建 Oceanus 集群时绑定的子网。Oceanus 集群子网可以在集群信息中查看。

4. 为作业添加配置高级参数,详情请参见高级参数
flink.hadoop.fs.AbstractFileSystem.ofs.impl: com.qcloud.chdfs.fs.CHDFSDelegateFSAdapter
flink.hadoop.fs.ofs.impl: com.qcloud.chdfs.fs.CHDFSHadoopFileSystemAdapter
flink.hadoop.fs.ofs.tmp.cache.dir: /tmp/chdfs/
flink.hadoop.fs.ofs.upload.flush.flag: true
flink.hadoop.fs.ofs.user.appid: 客户的 appid
flink.hadoop.fs.cosn.trsf.fs.ofs.user.appid: 客户的 appid
flink.hadoop.fs.cosn.trsf.fs.ofs.bucket.region: cos 所在地域(例如:弗吉尼亚对应 na-ashburn,广州对应 ap-guangzhou)
flink.hadoop.fs.cosn.trsf.fs.ofs.tmp.cache.dir: /tmp/chdfs

# 注意:使用 hadoop 用户权限则添加下面参数,使用 flink 用户无需添加
containerized.taskmanager.env.HADOOP_USER_NAME: hadoop
containerized.master.env.HADOOP_USER_NAME: hadoop