更新时间:2024-11-12 GMT+08:00

步骤2:数据集成

OBS数据迁移到DWS

  1. 登录CDM管理控制台。单击左侧导航上的“集群管理”,进入集群管理界面。

    或参考访问DataArts Studio实例控制台登录DataArts Studio管理控制台。在DataArts Studio控制台首页,选择对应工作空间的“数据集成”模块,进入CDM首页。

    图1 集群列表

    “创建来源”列仅通过DataArts Studio服务进入数据集成界面可以看到。

  2. 进入DataArts Studio数据集成主页面,单击操作列的“作业管理”。

    图2 作业管理

  3. 在作业管理界面,选择“连接管理 - 新建连接”,进入创建连接页面。
  4. 在创建连接页面,选择“对象存储服务(OBS)”,新建CDM到OBS的连接,数据连接名称为“obs_link”

    表1 OBS连接的参数

    参数名

    说明

    取值样例

    名称

    连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。

    obs_link

    OBS终端节点

    终端节点(Endpoint)即调用API的请求地址,不同服务不同区域的终端节点不同。您可以通过以下方式获取OBS桶的Endpoint信息:

    OBS桶的Endpoint,可以进入OBS控制台概览页,单击桶名称后查看桶的基本信息获取。

    说明:
    • CDM集群和OBS桶不在同一个Region时,不支持跨Region访问OBS桶。
    • 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。

    -

    端口

    数据传输协议端口,https是443,http是80。

    443

    OBS桶类型

    用户下拉选择即可,一般选择为“对象存储”。

    对象存储

    访问标识(AK)

    AK和SK分别为登录OBS服务器的访问标识与密钥。

    您需要先创建当前账号的访问密钥,并获得对应的AK和SK。

    您可以通过如下方式获取访问密钥。
    1. 登录控制台,在用户名下拉列表中选择“我的凭证”。
    2. 进入“我的证”页面,选择访问密钥 > 新增访问密钥,如图3所示。
      图3 单击新增访问密钥
    3. 单击“确定”,根据浏览器提示,保存密钥文件。密钥文件会直接保存到浏览器默认的下载文件夹中。打开名称为“credentials.csv”的文件,即可查看访问密钥(Access Key Id和Secret Access Key)。
      说明:
      • 每个用户仅允许新增两个访问密钥。
      • 为保证访问密钥的安全,访问密钥仅在初次生成时自动下载,后续不可再次通过管理控制台界面获取。请在生成后妥善保管。

    -

    密钥(SK)

    -

    图4 创建OBS连接

  5. 在创建连接页面,选择“数据仓库服务(DWS)”,新建CDM到DWS的连接,数据连接名称为“dws_link”

    表2 DWS连接参数

    参数名

    说明

    取值样例

    名称

    连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。

    dws_link

    数据库服务器

    单击输入框后的“选择”,可获取用户的DWS实例列表。

    -

    端口

    配置为要连接的数据库的端口。DWS数据库端口默认为8000。

    8000

    数据库名称

    配置为要连接的数据库名称。

    demo

    用户名

    待连接数据库的用户。该数据库用户需要有数据表的读写权限,以及对元数据的读取权限。

    dbadmin

    密码

    用户密码。

    -

    使用Agent

    是否选择通过Agent从源端提取数据。

    图5 创建DWS连接

  6. CDM到OBS和DWS的连接创建成功后,单击“表/文件迁移”,再单击“新建作业”

    图6 新建作业

  7. 按照如下步骤完成作业参数的配置。

    1. 图7所示,配置作业名为movies_obs2dws,配置源端作业参数,然后配置目的端作业参数。

      在本示例中,目的端作业参数“导入开始前”配置为“清除全部数据”,表示每次作业运行都会先清空数据再导入。在实际业务中,请视情况而定,需谨慎设置,以免造成数据丢失。

      图7 作业配置
    2. 在源端、目的作业配置区域,单击“显示高级属性”,在“高级属性”中,系统提供了默认值,请根据实际业务数据的格式设置各项参数。
      例如,本例中根据数据源准备中的样例数据格式,源端高级属性需注意以下参数的设置,其他参数均保留默认值即可,如图8所示。目的端高级属性无需配置。
      • 字段分隔符:默认值为逗号,本示例需要保留默认值。
      • 使用包围符:由于IMDbURL有的原始数据中包含“,”,需要修改默认值为“是”
      • 前N行为标题行:默认值为“否”,本示例首行是标题行,修改默认值为“是”标题行数配置为1。
      图8 源端高级属性

    3. 单击“下一步”后,请参考以下说明配置字段映射,如图9所示,配置完成后,单击“下一步”

      字段映射:在本示例中,由于数据迁移的目标表字段顺序和原始数据的字段顺序是一样的,因此这里不需要调整字段映射的顺序。

      如果目标表字段顺序和原始数据不一致,请一一将源字段指向含义相同的目的字段。请将鼠标移至某一个字段的箭头起点,当光标显示为“+”的形状时,按住鼠标,将箭头指向相同含义的目的字段,然后松开鼠标。

      图9 字段映射
    4. 根据需要配置任务的重试和定时执行、高级属性等。在本示例中仅需将“是否写入脏数据”设置为“是”,其他配置项保持默认即可。
      图10 任务配置

      单击“显示高级属性”,可配置“抽取并发数”以及“是否写入脏数据”,如图10所示。

      • 抽取并发数:设置同时执行的抽取任务数。并发抽取数取值范围为1-1000,若配置过大,则以队列的形式进行排队。
        CDM迁移作业的抽取并发量,与集群规格和表大小有关。
        • 按集群规格建议每1CUs(1CUs=1核4G)配置为4。
        • 表每行数据大小为1MB以下的可以多并发抽取,超过1MB的建议单线程抽取数据。
      • 是否写入脏数据:建议配置为“是”,然后参考图10配置相关参数。脏数据是指与目的端字段不匹的数据,该数据可以被记录到指定的OBS桶中。用户配置脏数据归档后,正常数据可以写入目的端,迁移作业不会因脏数据中断。

        在本示例中,“OBS桶”配置为在数据源准备中创建的桶“fast-demo”,您需要前往OBS控制台,在桶中创建一个目录,例如err_data,然后再将“脏数据目录”配置为该目录。

  8. 单击“保存并运行”完成作业的创建。

    返回“表/文件迁移”页面后,可在作业列表中查看到新建的作业。

    图11 迁移作业运行结果

  9. 参考步骤6~步骤8,再新建名为ratings_obs2dws的迁移作业,将ratings.csv数据迁移到DWS的ratings_item表中。待作业运行成功后,数据迁移结束。

    图12 数据迁移结果

  10. 数据迁移结束后,您也可以跳转到数据开发页面,新建一个DWS SQL脚本,并分别执行以下SQL语句检查DWS中的movies_item和ratings_item表数据是否符合预期。

    • 查看movies_item表数据:
      SET SEARCH_PATH TO dgc;
      SELECT * FROM movies_item;
    • 查看ratings_item表数据:
      SET SEARCH_PATH TO dgc;
      SELECT * FROM ratings_item;
    图13 查看DWS表数据