更新时间:2024-08-05 GMT+08:00

配置DLI目的端参数

作业中目的连接为DLI连接时,即将数据导入到数据湖探索服务(DLI)时,目的端作业参数如表1所示。

使用CDM服务迁移数据到DLI时,DLI要在OBS的dli-trans*内部临时桶生成数据文件,因此在需要赋予DLI连接中使用AK/SK所在用户对dli-trans*桶的读、写、创建目录对象等权限,否则会导致迁移失败。dli-trans*内部临时桶的权限策略添加请参见新增dli-trans*内部临时桶授权策略

表1 DLI作为目的端时的作业参数

参数名

说明

取值样例

资源队列

选择目的表所属的资源队列。

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*内部临时桶授权策略

  1. 登录统一身份认证服务IAM控制台。
  2. 在左侧导航窗格中,选择权限管理>权限页签,单击右上方的“创建自定义策略”

    图1 创建自定义策略

  3. 在自定义策略配置页面,策略配置方式切换至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自定义策略

  4. 单击“确定”,完成obs_dli-trans自定义策略创建。
  5. 在IAM左侧导航窗格中,选择“用户组”,找到DLI连接中使用AK/SK所在用户的归属用户组,单击授权,将obs_dli-trans自定义策略授权给该用户。

    图3 为用户组授权obs_dli-trans自定义策略