创建从外部数据库同步数据到 Hive 库的手动调度的任务¶
本文描述了如何从零开始创建从外部数据库同步数据到 Hive 库的手动调度的任务。
开始前准备 ¶
你必须已创建用于存放同步数据的目标 Hive 表。更多信息,参考 脚本开发。
步骤1:创建数据同步任务 ¶
登录 EnOS 管理控制台,选择 数据同步。
点击目录树上方的 +,或点击空白页中的 新建数据同步任务。
在 新建数据同步任务 窗口中,完成数据同步任务的基本设置。
方式:选择 新建,从零开始创建同步任务。如果选择 导入任务配置,参考 基于已有任务创建新的同步任务。
名称:输入数据同步任务的名称。
同步类型:选择 结构化数据。
调度类型:选择 手动调度。
描述:输入对数据同步任务的描述信息。
选择目录:选择保存数据同步任务的目录。
点击 确定 完成创建。
步骤2:选择数据源 ¶
SQL Server 或 MySQL 数据库 ¶
如选择从 MySQL 或 SQL Server 数据库同步数据时,完成以下设置:
从已有的数据源列表中选择数据源或创建新数据源。更多信息,参考 数据源注册。
从数据库中选择需要同步的源表。
(可选)可提供 SQL 查询脚本筛选过滤需同步的数据。
备注
脚本中不需要输入
where
,例如:emp_no <= 10010
(可选)点击 数据预览,预览将被同步的数据,如下图所示:
点击 下一步。
备注
MySQL 数据库需要设置时区为 UTC,否则在数据同步里无法正常显示 MySQL 库里的表。
Oracle 或 SAP HANA 数据库 ¶
如选择从 Oracle 或 SAP HANA 数据库同步数据时,完成以下设置:
如若是 Oracle 数据源类型,选择驱动版本。
从已有的数据源列表中选择数据源或创建新数据源。更多信息,参考 数据源注册。
从数据源中选择需要同步的 Schema 表。
从数据库中选择需要同步的源表。
(可选)可提供 SQL 查询脚本筛选过滤需同步的数据。
备注
脚本中不需要输入
where
,例如:emp_no <= 10010
(可选)点击 数据预览,预览将被同步的数据,如下图所示:
点击 下一步。
BLOB、FTP、SFTP 或 S3 文本数据库 ¶
如选择从 BLOB、FTP、SFTP 或 S3 文本数据库同步数据时,完成以下设置:
从已有的数据源列表中选择数据源或创建新数据源。更多信息,请参阅 数据源注册。
输入待同步的目录或文件名。当目录包含多个文件时,数据记录将被合并。在这种情况下,确保同一目录中的所有数据具有相同的列。
使用 SAS token 认证的 BLOB 数据源类型的数据目录格式为
https://<containername>/<dir>/<filename>
。此种方式下存储容器的根文件夹中的数据无法同步。其他认证方式的 BLOB 数据源类型的数据目录格式为
wasbs://<containername>/<dir>/<filename>
。S3 数据源类型的数据目录格式为
s3://<bucketname>/<dir>/<filename>
。
选择文本数据文件中使用的列分隔符,例如,Tab键、逗号、分号、空格或其他分隔符。
选择数据文件的编码格式:UTF-8、GBK、或 GB2312。
选择数据文件的压缩格式(非压缩、LZO、BZIP2、或 GZIP)。
选择数据匹配模式(按列序匹配或按列名匹配)。
选择加载数据时忽略首部的行数。
指定列头的名称,或上传列头文件。指定的列头将被作为数据源的列名与目标源中的列名匹配。
(可选)点击 数据预览,预览将同步的数据。
点击 下一步。
步骤3:选择目标源 ¶
目前仅支持 HIVE(EnOS) 类型的目标源,完成以下设置(以 S3 数据源为例)。
选择运行数据同步任务的 批数据处理-大数据队列 资源名称(可通过 资源管理 页面申请)。
选择已创建的 Hive 表名称。如果 Hive 表已分区,则会自动加载分区。
指定目标分区。可通过以下方法指定分区:
列名:系统将根据该列的每个值创建新分区(从右侧下拉框中选择对应的源列名)。例如:列名为日期,列值为
20180501
和20180502
,则系统会创建两个分区,一天一个分区。固定值:例如,输入2017-10-11,数据将自动同步到目标表的
2017-10-11
分区。占位符:你可以使用系统提供的或自定义的参数。例如,系统变量
$ {cal_dt}
。有关系统变量的更多信息,参考 系统变量列表。
设定数据写入的规则,覆盖目标表中已有数据或将数据添加到已有数据后。
点击 下一步。
步骤4:配置数据源与目标的映射关系 ¶
本步骤中,数据源中的指定的列名将与目标源中的列名匹配。也可手动更改数据源中的字段与目标源中的字段的映射关系。
点击页面左侧 来源字段 表中字段,将其添加到右侧 来源(配置映射关系) 列中,与 目标字段 列中的字段相匹配,完成映射关系设置。
完成配置后,点击 下一步。
步骤5:配置调度 ¶
点击配置面板右侧边缘的 调度配置。
可进行以下调度配置:
任务名称:如需更新数据同步任务的名称,输入新的任务名称。
负责人:负责人可以是本组织中具有访问数据集权限的用户。默认为任务创建者。负责人设置规则如下:
作为任务创建者,无法删除自己。
可以在同一组织中添加其他负责人。
同一负责人不可再创建相同名称的另一个任务。
描述:(可选)输入对调度配置的说明。
预警方式:选择告警的方式。邮件为强制选择项。
邮件:当实例满足告警条件时,会向负责人发送告警电子邮件。
短信:必须是在用户注册期间通过短信认证的电话号码。当实例满足告警条件时,短信仅发送给负责人。
步骤6:配置参数 ¶
为配置数据源和目标中使用的参数指定参数值。你可以为参数指定常量,系统变量、或自定义变量。步骤如下:
点击配置面板右侧边缘的 参数配置。
在 参数 输入框中,为每个使用到的参数指定参数值。
例如,将 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:配置运行模式¶
为数据同步任务配置容器计算资源。步骤如下:
点击配置面板右侧边缘的 运行模式。
输入运行数据同步任务所需的 CPU 和内存。
若 OU 尚未申请 批数据处理-容器计算 资源,可通过 资源管理 链接前往资源申请页面。
步骤8:配置并发数 ¶
选择要建立的并发连接数,然后点击 下一步 。
如设置高并发数,数据库会承受更大的负载,当总传输速率固定时,单个连接的速率会变小。
步骤9:预览并保存配置 ¶
预览设置,如有需要可进行再编辑,然后点击 完成 保存配置。
后续操作 ¶
点击 预跑,测试数据同步任务,实例将在运行任务后产生。接着,你可在任务运维中跟踪有关实例的详细信息。更多信息,参考 任务运维。
从数据源同步数据后,你可以根据数据设置其他处理任务。更多信息,参考 批数据处理。