使用限制
选择 upsert 模式同步时,DLC 表的表必须是 V2表,并且开启设置 write.upsert.enabled=true。
选择 upsert 模式同步时,必须指定主键,如果是一个分区表,分区字段也必须添加到主键中。
数据库环境准备
1.检查 WeData 是否有访问 DLC 的权限
2.在左侧菜单中选择用户,找到您需要绑定策略的用户。
3.单击该用户的名称,进入用户详情页。在权限栏搜索 QcloudWeDataExternalAccess,如果已经关联了该策略,下面步骤可以跳过。
4.在用户详情页中,找到权限管理模块下的关联策略 。
5.单击关联策略中的新建关联按钮。选择从策略列表中选取策略关联,并输入 QcloudWeDataExternalAccess。
6.勾选 QcloudWeDataExternalAccess,单击下一步按钮,完成策略绑定。
绑定成功后,该用户即可使用 QcloudWeDataExternalAccess 策略中定义的权限。
2.检查表是 V1表还是 V2表
实时同步到 DLC,支持两种模式:Append 模式 和 Upsert 模式。其中 Upsert 模式必须为 V2表。使用下面命令查看创建的表属性。
SHOW TBLPROPERTIES `DataLakeCatalog`.`databases_name`.`table_name`;
3.创建 DLC 表
3.1 创建 V1表
DLC 默认创建的表为 V1表,V1表不支持 Upsert 模式。建表语句参考下面:
CREATE TABLE IF NOT EXISTS `DataLakeCatalog`.`dbname`.`test_v1` (`id` int, `name` string, `ts` date) PARTITIONED BY (`ts`);
3.2 创建 V2表
使用 upsert 模式的写入 DLC,需要创建 V2表,需要在建立表的时候指定,建表语句参考下面:
创建 V2表,也一定要设置 'write.upsert.enabled' = 'true' 否则仍然是 Append 模式。
CREATE TABLE IF NOT EXISTS `DataLakeCatalog`.`dbname`.`test_v2` (`id` int, `name` string, `ts` date) PARTITIONED BY (`ts`) TBLPROPERTIES ('format-version' = '2', -- 创建 V2 表'write.upsert.enabled' = 'true', -- 写入时做 upsert 操作,只支持 V2 表'write.distribution-mode' = 'hash', -- 定义写入数据的分布,设置为hash,支持多并发写入'write.update.mode' = 'merge-on-read' -- 写入更新模式,在写入的时候做merge操作,只支持 V2 表)
3.3 修改表属性(可选)
对于已经创建了的表,需要修改其属性,可以参考下面语法:
SHOW TBLPROPERTIES table_name [('property_name')]
下面是将已经存在的 V1表改成 V2表的示例:
ALTER TABLE`DataLakeCatalog`.`database_name`.`table_name`SETTBLPROPERTIES ('format-version' = '2','write.upsert.enabled' = 'true')
数据源配置
WeData 目前支持通过连接串方式引入 DLC 数据源。
单击项目管理 > 数据源管理 > 新建数据源 > 选择 DLC 数据源。
参数说明如下:
参数 | 说明 |
数据源名称 | 新建的数据源的名称,由用户自定义且不可为空。命名以字母开头,可包含字母、数字、下划线。长度在20字符以内 |
描述 | 选填,对本数据源的描述 |
数据源权限 | 项目共享表示当前数据源项目所有成员均可使用 ,仅个人和管理员表示改数据源仅创建人和项目管理员可用 |
JDBC URL | 用于连接 DLC 数据源的连接串信息 |
用户名 | 连接数据源的用户名称 |
SecretId | 连接数据源的用户名称 |
SecretKey | 连接数据源的密码 |
数据连通性 | 测试是否能够连通所配置的数据库 |
DLC 权限范围操作指南
1. 请在访问管理 > 用户 > 用户列表页面中,单击新建用户并开始创建新用户(即子账号)。
2. 按创建用户页面流程创建用户:填写用户名、选择标签键与标签值,即可完成新用户的创建。
3. 在访问管理 > 策略页面中,给制定的角色或子账号设置对应 DLC 数据策略赋予权限。
4. 申请密钥:若当无子账号时,可引导并跳转到创建子账号对应 API 密钥页面进行创建密钥,如下图:
5. DLC 平台 CAM 权限增加 DLC 策略权限,详情请参见 访问管理 CAM 服务。
支持数据类型
其他参考文档
DLC高级参数
DLC FAQ