创建从外部数据库同步数据到Hive库的手动调度的任务

本文描述了如何从零开始创建从外部数据库同步数据到Hive库的手动调度的任务。

开始前准备

你必须已创建用于存放同步数据的目标Hive表。更多信息,参考 创建Hive表

步骤1:创建数据同步任务

  1. 登录EnOS管理门户,选择 数据同步

  2. 点击目录树上方的 +,新建数据同步任务。

  3. 新建数据同步任务 窗口中,完成数据同步任务的基本设置。

    • 方式:选择 新建 以从零开始创建集成任务。如果选择 导入任务配置,参考 基于已有任务创建新的集成任务

    • 名称:输入集成任务的名称。

    • 同步类型:选择 结构化数据

    • 调度类型:选择 手动调度

    • 描述:输入对数据同步任务的描述信息。

    • 选择目录:选择保存集成任务的目录。

  4. 点击 确定 完成创建。

步骤2:选择数据源

SQL Server、MySQL或Oracle数据库

如选择从SQL、MySQL或Oracle数据库同步数据时,完成以下设置:

  1. 从已有的数据源列表中选择数据源或创建新数据源。更多信息,请参阅 数据源注册

  2. 从数据库中选择需要同步的表。

  3. (可选)可提供SQL查询脚本筛选需同步的数据。

    备注

    脚本中不需要输入where,例如:age_4 >= 40

  4. (可选)点击 数据预览 预览将被同步的数据,如下图所示:

    _images/sql_source.png
  5. 点击 下一步

备注

MySQL 数据库需要设置时区为 UTC,否则在数据同步里无法正常显示 MySQL 库里的表。

FTP、SFTP或S3文本数据库

如选择从FTP、SFTP或S3文本数据库同步数据时,完成以下设置:

  1. 从已有的数据源列表中选择数据源或创建新数据源。更多信息,请参阅 数据源注册

  2. 指定数据源的URL。当目录包含多个文件时,数据记录将被合并。在这种情况下,确保同一目录中的所有数据具有相同的列。

  3. 选择文本数据文件中使用的列分隔符,例如,Tab键、逗号、分号、空格或其他分隔符。

  4. 选择数据文件的编码格式:UTF-8、GBK或GB2312。

  5. 选择数据文件的压缩格式。

  6. 选择加载数据时忽略首部的行数。

  7. 指定列头的名称。

  8. (可选)点击 数据预览 预览将同步的数据。

  9. 点击 下一步

步骤3:选择目标源

目前仅支持Hive类型的目标源,完成以下设置。

  1. 选择目标源的类型。如果Hive表已分区,则会自动加载分区。

  2. 指定目标分区。可通过以下方法指定分区:

    • 列名:系统将根据该列的每个值创建新分区。例如:列名为日期,列值为2018050120180502,则系统会创建两个分区,一天一个分区。

    • 固定值:例如,输入2017-10-11,数据将自动同步到目标表的2017-10-11分区。

    • 占位符:你可以使用系统提供的或自定义的参数。例如,系统变量$ {cal_dt}。有关系统变量的更多信息,参考 系统变量列表

    _images/sql_target.png
  3. 设定数据写入的规则,覆盖目标表中已有数据或将数据添加到已有数据后。

  4. 点击 下一步

步骤4:配置数据源与目标的映射关系

本步骤中,将数据源中的字段映射到目标字段中。

  1. 点击页面左侧 来源字段 表中字段,将其添加到右侧 来源(配置映射关系) 列中,与 目标字段 列中的字段相匹配,完成映射关系设置。

    _images/sql_mapping.png
  2. 完成配置后,点击 下一步

步骤5:配置调度

  1. 点击配置面板右侧边缘的 调度配置

  2. 完成以下配置:

    • 负责人:负责人可以是本组织中具有访问数据集权限的用户。默认为任务创建者。负责人设置规则如下:

      • 作为任务创建者,无法删除自己。

      • 可以在同一组织中添加其他负责人。

      • 同一负责人不可再创建相同名称的另一个任务。

    • 描述:(可选)输入对调度配置的说明。

    • 预警方式:选择告警的方式。邮件为强制选择项。

      • 邮件:当实例满足告警条件时,会向负责人发送告警电子邮件。

      • 短信:必须是在用户注册期间通过短信认证的电话号码。当实例满足告警条件时,短信仅发送给负责人。

步骤6:配置参数

为配置数据源和目标中使用的参数指定参数值。你可以为参数指定常量,系统变量或自定义变量。步骤如下:

  1. 点击配置面板右侧边缘的 参数配置

  2. 参数 输入框中,为每个使用到的参数指定参数值。

  3. 例如,将URL设置为S3数据源时:s3://history/log_solar_dt_change_inverter/${test_list}.each_value

    test_list为参数,你可以为该参数设置值:test_list=Array[20170515,20170516,20170517,20170518,20170519,20170520]

    EnOS将同步设置中指定目录下的所有数据。

    你可以将参数值设定为系统变量。更多信息,参考 系统变量列表

步骤7:配置并发数

选择要建立的并发连接数,然后点击 下一步

如设置高并发数,数据库会承受更大的负载,当总传输速率固定时,单个连接的速率会变小。

步骤8:预览并保存配置

预览设置,如有需要可进行再编辑,然后点击 完成 保存配置。

后续操作

点击 预跑 测试数据同步任务。

实例将在运行集成任务后产生。接着,你可在数据运维中跟踪有关实例的详细信息。更多信息,参考 数据运维

从数据源同步数据后,你可以根据数据设置其他处理任务。更多信息,参考 批数据处理