LogHub(SLS)数据源为您提供读取和写入LogHub(SLS)双向通道的功能,本文为您介绍DataWorks的LogHub(SLS)数据同步的能力支持情况。
使用限制
数据集成离线写LogHub(SLS)时,由于LogHub(SLS)无法实现幂等,FailOver重跑任务时会引起数据重复。
支持的字段类型
数据集成支持读写的LogHub(SLS)字段类型如下。
字段类型 | 离线读(LogHub(SLS) Reader) | 离线写(LogHub(SLS) Writer) | 实时读 |
STRING | 支持 | 支持 | 支持 |
其中:
离线写LogHub(SLS)时
会将支持同步的各类型数据均转换成STRING类型后写入LogHub(SLS)。LogHub(SLS) Writer针对LogHub(SLS)类型的转换列表,如下所示。
支持的数据集成内部类型
写入LogHub(SLS)时的数据类型
LONG
STRING
DOUBLE
STRING
STRING
STRING
DATE
STRING
BOOLEAN
STRING
BYTES
STRING
实时读LogHub(SLS)时
会自带以下元数据字段。
LogHub(SLS)实时同步字段
数据类型
说明
__time__
STRING
SLS保留字段:__time__写入日志数据时指定的日志时间,unix时间戳,单位为秒。
__source__
STRING
SLS保留字段:__source__日志来源设备。
__topic__
STRING
SLS保留字段:__topic__topic名称。
__tag__:__receive_time__
STRING
日志到达服务端的时间。开启记录外网IP功能后,服务端接收日志时为原始日志追加该字段。unix时间戳,单位为秒。
__tag__:__client_ip__
STRING
日志来源设备的公网IP。开启记录外网IP功能后,服务端接收日志时为原始日志追加该字段。
__tag__:__path__
STRING
Logtail采集的日志文件路径,Logtail会自动为日志追加该字段。
__tag__:__hostname__
STRING
Logtail采集数据的来源机器主机名,Logtail会自动为日志追加该字段。
创建数据源
在进行数据同步任务开发时,您需要在DataWorks上创建一个对应的数据源,操作流程请参见创建并管理数据源,详细的配置参数解释可在配置界面查看对应参数的文案提示。
数据同步任务开发
数据同步任务的配置入口和通用配置流程可参见下文的配置指导。
LogHub数据源作为数据来源端,在进行任务配置同步时支持通过LogHub的查询语法、SPL语句(SLS Processing Language是SLS处理日志的语法)对LogHub内的数据进行过滤,具体语法说明请参见附录二:LogHub SPL语法过滤说明。
单表离线同步任务配置指导
操作流程请参见通过向导模式配置离线同步任务、通过脚本模式配置离线同步任务。
脚本模式配置的全量参数和脚本Demo请参见下文的附录一:脚本Demo与参数说明。
单表实时同步任务配置指导
操作流程请参见配置单表增量数据实时同步、DataStudio侧实时同步任务配置。
整库离线、整库(实时)全增量、整库(实时)分库分表等整库级别同步配置指导
操作流程请参见数据集成侧同步任务配置。
常见问题
更多其他数据集成常见问题请参见数据集成常见问题。
附录一:脚本Demo与参数说明
离线任务脚本配置方式
如果您配置离线任务时使用脚本模式的方式进行配置,您需要按照统一的脚本格式要求,在任务脚本中编写相应的参数,详情请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下数据源的参数配置详情。
Reader脚本Demo
Reader脚本参数
Writer脚本Demo
Writer脚本参数
附录二:LogHub SPL语法过滤说明
LogHub数据源作为数据来源端,在进行任务配置同步时支持通过LogHub的查询语法、SPL语句(SLS Processing Language是SLS处理日志的语法)对LogHub内的数据进行过滤,具体语法说明如下:
SPL的更多详细信息,请参见SPL概述。
场景 | SQL语句 | SPL语句 |
数据过滤 |
|
|
字段处理与筛选 | 精确选择字段,并将其重命名:
|
|
数据规整 (调用SQL函数) | 转换数据类型、时间解析等:
| 转换数据类型、时间解析等:
|
字段提取 | 正则提取:
JSON提取:
|
|