LogHub(SLS)实时ETL同步至Hologres

本文为您介绍如何LogHub(SLS)实时ETL同步至Hologres任务。

新建数据源

配置LogHub(SLS)数据源

您可以手动添加LogHub(SLS)数据源至DataWorks,详情请参见配置LogHub(SLS)数据源

新建Hologres数据源

  • 获取Hologres数据源信息

    进入Hologres产品控制台。找到您要进行数据同步的Hologres数据源,在实例详情界面获取到Hologres的实例ID,地域信息,数据源地址。如果Hologres开通了指定VPC的网络链接,则可以获取到VPC ID、Vswitch ID。

  • 手动添加Hologres数据源

    详情请参见创建Hologres数据源

  • Hologres绑定白名单

    进入HoloWeb,找到您要进行设置的hologres数据源,在安全中心界面,单击IP白名单按钮。

任务配置

将LogHub(SLS)单Logstore中的数据同步至Hologres的数据库中。

创建同步任务

  1. 进入数据集成页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据集成,在下拉框中选择对应工作空间后单击进入数据集成

  2. 在数据集成同步任务页面的创建同步任务区域,选择来源类型LogHub、去向类型Hologres,然后点击开始创建

  3. 配置同步任务基本信息。

    • 新任务名称:配置同步任务名称。

    • 同步类型:选择单表实时

    • 网络与资源配置:在下拉框中分别选择已创建的LogHub数据源、Hologres数据源、资源组,单击测试所有连通性,保障资源组与数据源之间的网络连通性。

  4. 配置SLS来源信息。

    1. 单击页面上方的SLS,编辑SLS来源信息。配置SLS来源信息

    2. 选择需要同步的Logstore。

    3. 单击右上角的数据采样

      数据输出预览对话框中指定好开始时间采样条数,单击开始采集按钮,可以对指定的Logstore进行数据采样,预览Logstore中的数据,为后续数据处理节点的数据预览和可视化配置提供输入。

  5. 输出字段配置。

    根据采样的结果提炼出字段(包括SLS的系统字段、TAG、普通字段),数据采样可能不会采样出所有字段,您可以通过单击手动增加输出字段添加未采样到的字段。

    说明

    输出字段配置界面也可以删除不需要同步的字段。如果您的字段存储数据为二进制数据,可以在数据类型列将数据类型切换为BINARY。image.png

  6. 编辑数据处理节点。

    单击添加图标可以增加数据处理方式。目前提供五种可选数据处理方式,您可根据需要进行顺序编排,在任务运行时会按照编排的先后顺序进行数据处理,五种数据处理方式分别为:数据脱敏字符串替换数据过滤JSON解析字段编辑与赋值编辑数据节点

    说明

    所有数据处理节点都必须以单路输入并且以单路输出,不支持多路输出。

    每完成一个数据处理节点配置,您可以单击右上角数据输出预览按钮,在弹出对话框中,单击重新获取上游输出,模拟得到Logstore采样数据经过当前数据处理节点前置节点处理后的结果,得到当前数据处理节点输入数据。

    数据输出预览窗口,您可以根据需要修改输入数据,或单击手工构造数据按钮自定义输入数据,再单击预览按钮,查看当前数据处理节点对数据的处理结果,当数据处理节点对输入数据处理异常,或产生脏数据时,也会反馈出异常信息,能够帮助您快速评估数据处理节点配置的正确性,以及是否得到预期结果。数据输出预览

  7. 配置Hologres去向信息。

    单击页面上返回的Hologres,编辑Hologres去向源信息。

    1. 配置基本信息。

      • 选择需要写入的Hologres Schema。

      • 选择需要写入的Hologres表是自动建表还是使用已有表

      • 填写或者选择要写入的Hologres表名。

    2. 编辑表结构。

      当选择自动建表时,您需要单击编辑表结构按钮,在弹框中编辑表结构。同时,支持您单击根据上游节点输出列重新生成表结构按钮,自动根据上游节点输出列,生成表结构。您可以在自动生成的表结构中选择一列配置为主键。您可根据需要选择分区列(分区表会使用每一个分区值创建一个物理子表,一般情况下不需要选择分区字段),根据需要调整建表属性,单击保存按钮即可保存建表配置。

      说明

      Hologres表必须有主键,否则无法保存配置。

      image.png

    3. 配置字段映射。

      保存建表结构选择已有表时,会自动按照同名映射原则生成上游列与Hologres表列之间的映射,可根据需要进行调整秒支持一个游列映射到多个Hologres表列,不允许多个上游列映射到一个Hologres表列,当上游列未配置到Hologres表列的映射时,对应列不会写入Hologres表。

    4. 配置上游留入动态字段处理策略。

      上游流入动态字段处理策略用于控制上游数据处理节点(目前可以生成动态列的数据处理节点只有JSON解析)生成动态列的处理方式,如果在JSON解析节点配置了动态输出字段,则在Hologres节点中会出现上游流入动态字段处理策略配置项。动态列指在任务配置中未明确定义列名,而是根据源端输入数据内容的不同,能够解析出不同列名和列值,并输出到Hologres节点的列。

  8. 高级参数配置。

    单击右上角的高级参数配置,对同步任务运行时并行度和资源配置,您可以根据Logstore数据流量和分区数量确定对应配置项取值,建议可以按照如下简单规则进行配置:

    • 任务读并发=Logstore分区数

    • 任务写并发=Logstore分区数

    • 任务内存占用(GB)=1.5G+(256MB * Logstore分区数)

      说明

      由于同步任务的性能表现和资源占用受到实际源端和目标端系统数据流量、网络环境和系统负载等因素影响,您可以基于上述简单规则,根据实际情况进行调整和修改。

  9. 模拟运行

    完成上述所有任务配置后,您可以通过模拟运行功能,模拟整个任务针对少量采样数据的处理,都得到数据写入Hologres表后的结果。当任务存在配置错误、模拟运行过程中异常或者产生脏数据时会实时反馈出异常信息,能够帮助您快速评估任务配置的正确性和是否能得到预期结果。

    1. 单击页面右上角模拟运行,在弹出对话框中设置针对Logstore的采样参数(开始时间采样条数)。

    2. 单击开始采样得到采样数据。

    3. 单击预览按钮,模拟整个任务针对少量采样数据的处理。

    完成上述所有任务配置后,并完成模拟运行验证配置正确、写入结果符合预期,单击完成配置按钮,完成同步任务配置。

任务运维

启动同步任务

完成配置之后,界面会自动跳转到任务列表,您可以单击对应任务的启动按钮,启动同步任务。image.png

查看任务运行状态

创建完成同步任务后,您可以在同步任务页面,找到已创建的同步任务,单击任务名称执行概况空白处,查看任务的运行详情。任务详情分为以下三个部分:

  • 基本信息:您可以看到同步任务的数据源信息、绑定的资源组以及同步方案等信息。

  • 执行状态:Loghub到Hologres的实时同步任务分为结构迁移实时数据同步两个步骤,您可以查看任务执行状态。

  • 详细信息:您可以查看结构迁移实时同步的执行详情。

    • 结构迁移中包含目标表的创建方式(已有表或自动建表),如果是自动建表,将会为您展示建表的DDL。

    • 实时同步中包含实时同步的统计信息,包含实时的读写流量、脏数据、Failover和运行日志。

任务重跑

  • 直接重跑

    不修改任务配置,直接单击同步任务操作列的更多>重跑,重新运行一次从结构迁移到启动实时同步的流程。

  • 修改后重跑

    编辑任务,进行修改操作后, 单击完成。这个时候任务的操作会变成应用更新,点击应用更新会直接触发修改后的任务重跑,实时同步任务会按照新的配置运行。