流计算 Oceanus 数据湖计算 DLC

这篇说说腾讯云Oceanus连接DLC的Iceberg-inlong连接器,支持Flink 1.13⁄1.16⁄1.18⁄1.20版本作为Sink写入DLC托管原生表,并详细说明DDL定义、WITH参数配置及元数据加速桶的操作流程。 DDL定义与WITH参数:需配置connector、catalog-database、catalog-table等必填参数,以及DLC的secret-id、secret-key、regi。

相关产品
流计算 Oceanus 产品页,含版本规格、价格与购买入口。

一、版本说明

Flink 版本 说明
1.13 仅支持 Sink
1.14 暂不支持
1.16 仅支持 Sink
1.18 仅支持 Sink
1.20 仅支持 Sink

二、使用范围

可以作为 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');

四、通用参数

参数值 必填 默认值 描述
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 表,允许 upsertALTER 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 是基于元数据加速桶的,需要参考如下操作流程。

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

1. 进入 数据湖计算 DLC 控制台,单击全局配置 > 存储配置 > 元数据加速桶配置。

2. 选择需要写入的托管桶,单击配置。

3. 单击新增权限配置,网络选择创建 Oceanus 集群时绑定的子网。Oceanus 集群子网可以在集群信息中查看。

4. 为作业添加配置高级参数,详情请参见高级参数。

flink.hadoop.fs.AbstractFileSystem.ofs.impl: com.qcloud.chdfs.fs.CHDFSDelegateFSAdapterflink.hadoop.fs.ofs.impl: com.qcloud.chdfs.fs.CHDFSHadoopFileSystemAdapterflink.hadoop.fs.ofs.tmp.cache.dir: /tmp/chdfs/flink.hadoop.fs.ofs.upload.flush.flag: trueflink.hadoop.fs.ofs.user.appid: 客户的 appidflink.hadoop.fs.cosn.trsf.fs.ofs.user.appid: 客户的 appidflink.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: hadoopcontainerized.master.env.HADOOP_USER_NAME: hadoop

赞 (0)
上一篇 4天前
下一篇 4天前