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

步骤3:数据集成

本章节将介绍如何使用DataArts Studio数据集成将源数据批量迁移到云上。

创建集群

批量数据迁移集群提供数据上云和数据入湖的集成能力,全向导式配置和管理,支持单表、整库、增量、周期性数据集成。DataArts Studio基础包中已经包含一个数据集成的集群,如果无法满足业务需求,在购买DataArts Studio基础包实例后,您可以根据实际需求购买批量数据迁移增量包。

购买数据迁移增量包的具体操作请参考购买批量数据迁移增量包章节。

新建数据迁移的源连接、目的连接

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

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

    图1 集群列表

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

  2. 在左侧导航栏中单击“集群管理”进入“集群管理”页面。然后,在集群列表中找到所需要的集群,单击“作业管理”

    图2 集群管理

  3. 进入作业管理后,选择“连接管理”

    图3 连接管理

  4. 创建两个连接,一个源连接OBS连接,用于读取存储在OBS上的原始数据,一个目的连接MRS Hive连接,用于将数据写入MRS Hive数据库中。

    单击“新建连接”,进入相应页面后,选择连接器类型“对象存储服务(OBS)”,单击“下一步”,然后如下图所示配置连接参数,单击“保存”
    图4 创建OBS连接
    表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. 进入“我的证”页面,选择访问密钥 > 新增访问密钥,如图5所示。
      图5 单击新增访问密钥
    3. 单击“确定”,根据浏览器提示,保存密钥文件。密钥文件会直接保存到浏览器默认的下载文件夹中。打开名称为“credentials.csv”的文件,即可查看访问密钥(Access Key Id和Secret Access Key)。
      说明:
      • 每个用户仅允许新增两个访问密钥。
      • 为保证访问密钥的安全,访问密钥仅在初次生成时自动下载,后续不可再次通过管理控制台界面获取。请在生成后妥善保管。

    -

    密钥(SK)

    -

    “连接管理”页面,再次单击“新建连接”,进入相应页面后,选择连接器类型为“MRS Hive”,单击“下一步”,然后如下图所示配置连接参数,单击“保存”
    图6 创建MRS Hive连接
    表2 MRS Hive连接参数

    参数名

    说明

    取值样例

    名称

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

    hivelink

    Manager IP

    MRS Manager的浮动IP地址,可以单击输入框后的“选择”来选定已创建的MRS集群,CDM会自动填充下面的鉴权参数。
    说明:

    当前DataArts Studio不支持对接“Kerberos加密类型”为“aes256-sha2,aes128-sha2”的MRS集群。如需对接MRS集群,请注意“Kerberos加密类型”应为“aes256-sha1,aes128-sha1”。

    127.0.0.1

    认证类型

    访问MRS的认证类型:
    • SIMPLE:非安全模式选择Simple鉴权。
    • KERBEROS:安全模式选择Kerberos鉴权。

    SIMPLE

    Hive版本

    Hive的版本。根据服务端Hive版本设置。

    HIVE_3_X

    用户名

    选择KERBEROS鉴权时,需要配置MRS Manager的用户名和密码。从HDFS导出目录时,如果需要创建快照,这里配置的用户需要HDFS系统的管理员权限。

    如果要创建MRS安全集群的数据连接,不能使用admin用户。因为admin用户是默认的管理页面用户,这个用户无法作为安全集群的认证用户来使用。您可以创建一个新的MRS用户,然后在创建MRS数据连接时,“用户名”“密码”填写为新建的MRS用户及其密码。
    说明:
    • 如果CDM集群为2.9.0版本及之后版本,且MRS集群为3.1.0及之后版本,则所创建的用户至少需具备Manager_viewer的角色权限才能在CDM创建连接;如果需要对MRS组件的库、表、列进行操作,还需要参考MRS文档添加对应组件的库、表、列操作权限。
    • 如果CDM集群为2.9.0之前的版本,或MRS集群为3.1.0之前的版本,则所创建的用户需要具备Manager_administrator或System_administrator权限,才能在CDM创建连接。
    • 仅具备Manager_tenant或Manager_auditor权限,无法创建连接。

    cdm

    密码

    访问MRS Manager的用户密码。

    -

    开启LDAP认证

    通过代理连接的时候,此项可配置。

    当MRS Hive对接外部LDAP开启了LDAP认证时,连接Hive时需要使用LDAP账号与密码进行认证,此时必须开启此参数,否则会连接失败。

    LDAP用户名

    “开启LDAP认证”参数选择为“是”时,此参数是必选项。

    填写为MRS Hive开启LDAP认证时配置的用户名。

    -

    LDAP密码

    “开启LDAP认证”参数选择为“是”时,此参数是必选项。

    填写为MRS Hive开启LDAP认证时配置的密码。

    -

    OBS支持

    需服务端支持OBS存储。在创建Hive表时,您可以指定将表存储在OBS中。

    访问标识(AK)

    “OBS支持”参数选择为“是”时,此参数是必选项。请注意,此处AK/SK对应的账号应具备OBS Buckets Viewer系统权限,否则会无法访问OBS并报“403 AccessDenied”错误。

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

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

    -

    密钥(SK)

    -

    运行模式

    “HIVE_3_X”版本支持该参数。支持以下模式:
    • EMBEDDED:连接实例与CDM运行在一起,该模式性能较好。
    • STANDALONE:连接实例运行在独立进程。如果CDM需要对接多个Hadoop数据源(MRS、Hadoop或CloudTable),并且既有KERBEROS认证模式又有SIMPLE认证模式,只能使用STANDALONE模式。
      说明:

      STANDALONE模式主要是用来解决版本冲突问题的运行模式。当同一种数据连接的源端或者目的端连接器的版本不一致时,存在jar包冲突的情况,这时需要将源端或目的端放在STANDALONE进程里,防止冲突导致迁移失败。

    EMBEDDED

    检查Hive JDBC连通性

    是否需要测试Hive JDBC连通。

    是否使用集群配置

    您可以通过使用集群配置,简化Hadoop连接参数配置。

    集群配置名

    仅当“是否使用集群配置”为“是”时,此参数有效。此参数用于选择用户已经创建好的集群配置。

    集群配置的创建方法请参见管理集群配置

    hive_01

新建表/文件迁移作业

  1. DataArts Studio数据集成控制台,进入“集群管理”页面,在集群列表中找到所需要的集群,单击“作业管理”
  2. “作业管理”页面,单击“表/文件迁移”,再单击“新建作业”

    图8 表/文件迁移

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

    1. 图9所示,配置作业名称、源端作业参数和目的端作业参数,然后单击“下一步”
      • 作业名称:source-sdi
      • 源端作业配置
        • 源连接名称:obs-link
        • 桶名:fast-demo
        • 源目录或文件:/2017_Yellow_Taxi_Trip_Data.csv
        • 文件格式:CSV格式
        • 显示高级属性:单击“显示高级属性”,在“高级属性”中,系统提供了默认值,请根据实际业务数据的格式设置各项参数。
          在本示例中,根据准备数据源中的样例数据格式,需注意以下参数的设置,其他参数经过一一确认均保留默认值即可。
          • 字段分隔符:默认值为逗号,本示例保留默认值即可。
          • 前N行为标题行:设置为“是”,本示例首行是标题行。
          • 标题行数:配置为1。
          • 编码类型:默认值为UTF-8,本示例保留默认值即可。
      • 目的端作业配置
        • 目的连接名称:mrs-link。
        • 数据库名称:demo_sdi_db。
        • 表名:sdi_taxi_trip_data。
        • 导入前清空数据:是。

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

        图9 作业配置
    2. 在字段映射中,请参考以下说明配置字段映射以及日期字段的时间格式,如图10所示,配置完成后,单击“下一步”
      • 字段映射:在本示例中,由于数据迁移的目标表字段顺序和原始数据的字段顺序是一样的,因此这里不需要调整字段映射的顺序。

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

      • 时间格式:样例数据中第2、第3个字段为时间字段,数据格式如“02/14/2017 04:08:11 PM”,因此此处设置这两个字段的时间格式为“MM/dd/yyyy hh:mm:ss a”,可以在输入框中手动输入该格式。

        时间格式请根据实际的数据格式进行设置,例如:

        “yyyy/MM/dd HH:mm:ss”代表将时间转换为24小时制,例如2019/08/18 15:35:45。

        “yyyy/MM/dd hh:mm:ss a”代表将时间转换为12小时制,例如2019/06/27 03:24:21 PM。

      图10 字段映射
    3. 根据需要配置任务的重试和定时执行。
      图11 任务配置

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

      • 抽取并发数:您可以根据业务量进行配置。数据源端如果是文件类型,当有多个文件时,增大并发数可以提升抽取速率。
      • 是否写入脏数据:建议配置为“是”,然后参考图12配置相关参数。脏数据是指与目的端字段不匹的数据,该数据可以被记录到指定的OBS桶中。用户配置脏数据归档后,正常数据可以写入目的端,迁移作业不会因脏数据中断。在本示例中,“OBS桶”配置为在准备数据源中的桶fast-demo,您需要前往OBS控制台,在fast-demo桶中单击“新建文件夹”创建一个目录,例如error-data,然后再将图12中的“脏数据目录”配置为该目录。
      图12 任务高级属性

  4. 单击“保存”完成作业的创建。

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

    图13 迁移作业运行结果