从 EnOS Hive 同步数据到目的数据库


你可以将 EnOS Hive 中的数据同步至目标数据库用于数据分析等目的。


当前支持从 EnOS Hive 同步数据至以下目标数据库:

  • 外部 MySQL 数据库

  • 外部 PostgreSQL 数据库

  • 外部 ClickHouse 数据库

备注

因 EnOS 已不再提供和支持数据报表服务,数据同步服务不再支持将数据从 EnOS Hive 同步至 ReportDB。

开始前准备

同步数据前需创建目标表:

  • 如果你需要将数据同步至外部 MySQL 数据库,需要先通过 数据源注册 在 EnOS 内配置数据库连接信息,保证访问正常,并预先创建好目标表。

  • 如果你需要将数据同步至外部 PostgreSQL 数据库,需要先通过 数据源注册 服务在 EnOS 内配置数据库连接信息,保证访问正常,并预先创建好目标表。

  • 如果你需要将数据同步至外部 ClickHouse 数据库,需要先通过 数据源注册 服务在 EnOS 内配置数据库连接信息,保证访问正常,并预先创建好目标表。

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

  1. 登录 EnOS 管理控制台,选择 数据同步

  2. 点击目录树上方的 +,或点击空白页中的 新建数据同步任务

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

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

    • 名称:输入数据同步任务的名称。

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

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

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

    • 选择目录:选择保存数据同步任务的目录。

  4. 单击 确定 完成创建。

步骤2: 选择Hive数据源

选择 Hive 数据源,同步数据到 MySQL、PostgreSQL、或 ClickHouse,需要完成以下配置:

  1. 数据源类型 中,选择 HIVE(EnOS)。

  2. 源表 中,选择需要同步的数据表。

  3. 分区 中,指定目标分区,可选。如果为空,表示将同步全部数据到目标表。若指定分区,可以通过如下两种方式设定分区值:

    • 固定值:以20180101为例,将自动同步分区为20180101的数据到目标表;

    • 占位符:可以添加系统调度参数,如${cal_dt},或者自定义参数。请参考 系统变量列表

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

    _images/hive_source.png
  5. 点击 下一步,选择目标表。

步骤3:选择目标表

支持 Hive 数据同步到外部 MySQL 数据库、PostgreSQL 数据库、或 ClickHouse 数据库。

  • 当目标源为 MySQL 时,具体配置如下:

    1. 数据源类型 中,选择 MYSQL。

    2. 数据源 中,选择目标数据库。

    3. 表名 中,选择目标表,Hive 表中的数据将被同步至所选目标表。

    4. 选择数据写入规则,直接覆盖已有的全部数据,或者在现有数据后追加写入。

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

  • 当目标源为 PostgreSQL 时,具体配置如下:

    1. 数据源类型 中,选择 POSTGRESQL。

    2. 数据源 中,选择目标数据库。

    3. Schema 中,选择目标数据库 Schema。

    4. 表名 中,选择目标表,Hive 表中的数据将被同步至所选目标表。

    5. 选择数据写入规则,直接覆盖已有的全部数据,或者在现有数据后追加写入。

    6. 点击 下一步

  • 当目标源为 ClickHouse 时,具体配置如下:

    1. 数据源类型 中,选择 CLICKHOUSE。

    2. 数据源 中,选择目标数据库。

    3. 表名 中,选择目标表,Hive 表中的数据将被同步至所选目标表。

    4. 选择数据写入规则,直接覆盖已有的全部数据,或者在现有数据后追加写入。

    5. 点击 下一步

后续步骤

有关字段映射、通道控制、调度配置、参数配置、和运行模式的配置步骤,参考: