配置DLI目的端参数
作业中目的连接为DLI连接时,即将数据导入到数据湖探索服务(DLI)时,目的端作业参数如表1所示。
使用CDM服务迁移数据到DLI时,DLI要在OBS的dli-trans*内部临时桶生成数据文件,因此在需要赋予DLI连接中使用AK/SK所在用户对dli-trans*桶的读、写、创建目录对象等权限,否则会导致迁移失败。dli-trans*内部临时桶的权限策略添加请参见新增dli-trans*内部临时桶授权策略。
参数名 |
说明 |
取值样例 |
---|---|---|
资源队列 |
选择目的表所属的资源队列。 DLI的default队列无法在迁移作业中使用,您需要在DLI中新建SQL队列。 新建队列操作请参考创建队列。 |
cdm |
数据库名称 |
写入数据的数据库名称。 |
dli |
表名 |
写入数据的表名。 |
car_detail |
导入前清空数据 |
选择导入前是否清空目的表的数据。 如果设置为是,任务启动前会清除目标表中数据。 |
否 |
空字符串作为null |
如果设置为true,空字符串将作为null。 |
否 |
清空数据方式 |
导入前清空数据,如果设置为true时,呈现此参数。 TRUNCATE:删除标准数据。 INSERT_OVERWRITE:新增数据插入,同主键数据覆盖。
说明:
当源端为Kafka时,如果DLI导入前清空数据,则不支持INSERT_OVERWRITE。 |
TRUNCATE |
分区 |
“导入前清空数据”设置为“是”时,呈现此参数。 填写分区信息后,表示清空该分区的数据。 |
year=2020,location=sun |
新增dli-trans*内部临时桶授权策略
- 登录统一身份认证服务IAM控制台。
- 在左侧导航窗格中,选择“创建自定义策略”。
页签,单击右上方的图1 创建自定义策略
- 在自定义策略配置页面,策略配置方式切换至JSON视图,然后按照如下策略内容,创建obs_dli-trans自定义策略。
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:object:GetObject", "obs:object:DeleteObjectVersion", "obs:bucket:GetBucketLocation", "obs:object:GetAccessLabel", "obs:bucket:PutEncryptionConfiguration", "obs:bucket:PutBucketStoragePolicy", "obs:object:DeleteAccessLabel", "obs:bucket:PutBucketCustomDomainConfiguration", "obs:bucket:GetLifecycleConfiguration", "obs:bucket:PutBucketInventoryConfiguration", "obs:bucket:DeleteDirectColdAccessConfiguration", "obs:object:AbortMultipartUpload", "obs:bucket:PutBucketLogging", "obs:bucket:DeleteBucketWebsite", "obs:object:DeleteObject", "obs:bucket:PutBucketVersioning", "obs:bucket:GetBucketWebsite", "obs:bucket:GetBucketLogging", "obs:bucket:DeleteBucketCustomDomainConfiguration", "obs:object:PutObject", "obs:object:RestoreObject", "obs:bucket:PutReplicationConfiguration", "obs:bucket:GetBucketQuota", "obs:object:GetObjectVersionAcl", "obs:bucket:DeleteBucket", "obs:bucket:CreateBucket", "obs:bucket:GetDirectColdAccessConfiguration", "obs:bucket:PutDirectColdAccessConfiguration", "obs:bucket:GetBucketAcl", "obs:bucket:GetBucketVersioning", "obs:bucket:GetBucketInventoryConfiguration", "obs:bucket:GetBucketStoragePolicy", "obs:bucket:GetEncryptionConfiguration", "obs:bucket:PutBucketCORS", "obs:bucket:PutBucketTagging", "obs:bucket:GetBucketTagging", "obs:bucket:PutLifecycleConfiguration", "obs:bucket:GetBucketCustomDomainConfiguration", "obs:object:ListMultipartUploadParts", "obs:object:ModifyObjectMetaData", "obs:bucket:ListBucketVersions", "obs:bucket:PutBucketQuota", "obs:object:PutAccessLabel", "obs:bucket:ListBucket", "obs:bucket:GetBucketCORS", "obs:bucket:DeleteBucketInventoryConfiguration", "obs:object:GetObjectVersion", "obs:bucket:PutBucketWebsite", "obs:bucket:DeleteReplicationConfiguration", "obs:object:GetObjectAcl", "obs:bucket:GetBucketNotification", "obs:bucket:PutBucketNotification", "obs:bucket:GetReplicationConfiguration", "obs:bucket:GetBucketPolicy", "obs:bucket:DeleteBucketTagging", "obs:bucket:GetBucketStorage" ], "Resource": [ "OBS:*:*:object:*", "OBS:*:*:bucket:dli-trans*" ] } ] }
图2 配置obs_dli-trans自定义策略
- 单击“确定”,完成obs_dli-trans自定义策略创建。
- 在IAM左侧导航窗格中,选择“用户组”,找到DLI连接中使用AK/SK所在用户的归属用户组,单击授权,将obs_dli-trans自定义策略授权给该用户。
图3 为用户组授权obs_dli-trans自定义策略