流批一体数据交换引擎 etl-engine

随着互联网的发展,企业对数据实时性需求增强,从早期的离线分析(t+1)转向实时分析(t+0)。Kafka+Flask组合及Kafka+ETL-Engine应运而生,提供流式计算解决方案。ETL-Engine支持动态数据融合查询,能实时关联多种数据源,适用于实时业务监控和推荐系统等场景。
摘要由CSDN通过智能技术生成

互联网诞生之初虽然数据量暴增,单日事实表条数达千万级别,

但客户需求场景更多是“t+1”形式,只需对当日、当周、当月数据进行分析,这些诉求仅离线分析就可满足。

随着大数据领域不断发展,企业对于业务场景的诉求也从离线的满足转到高实时性的要求,数栈产品也在这一过程中进行着不断的迭代升级,随之诞生了kafka+flink组合 ,同时kafka + etl-engine(融合计算的加持)组合也实现了轻量级的流式计算引擎。

流计算与批计算对比

  • 数据时效性
    流式计算实时、低延迟,流式计算适合以“t+0”的形式呈现业务数据;
    批计算非实时、高延迟,批计算适合以“t+1”的形式呈现业务数据;
  • 数据特征
    流式计算数据一般是动态数据,数据是随时产生的;
    批计算数据一般是静态数据,数据事先已经存储在各种介质中。
  • 应用场景
    流式计算应用在实时场景,如:业务监控、实时推荐等。
    批计算应用在离线计算场景,如:数据分析、离线报表等。
  • 运行方式
    流式计算的任务是阻塞式的,一直持续运行中。
    批计算的任务是一次性完成即结束。

etl-engine 实现流式计算

etl-engine 支持通过自身提供的 ”kafka消费节点“进行消息消费,并在消费数据流(消息流)的同时调用自身提供的“融合查询API”,实现将多种数据源的维表数据读取到内存中,然后将消息流与多个维表数据进行各种关联查询,最后输出融合查询结果集到目标源,常用在将多个维表数据与实时消息流关联后转换成一个大宽表的场景。
在这里插入图片描述

融合查询语法

融合查询语法遵循ANSI SQL标准,与常规MySQL查询语法很相似。

  • 支持对多种类别数据库之间读取的数据进行融合查询。
  • 支持消息流数据传输过程中动态产生的数据与多种类型数据库之间的流计算查询。
  • 融合查询语法遵循ANSI SQL标准。
    select 支持
SELECT
      [DISTINCT] field [, field ...]
      FROM table [, table ...]
      [WHERE condition]
      [GROUP BY field [, field ...] ]
      [HAVING condition]
   [ORDER BY order_item [, order_item ...] ]
   [LIMIT number_of_records [OFFSET number_of_records ] ]

table 支持

INNER JOIN
LEFT JOIN
RIGHT JOIN
OUTER  JOIN
CROSS JOIN

后续会详细介绍融合查询支持的内容

参考资料

  [免费下载](https://github.com/hw2499/etl-engine/releases)
  [etl-engine使用手册](https://github.com/hw2499/etl-engine)
  [etl-crontab使用手册](https://github.com/hw2499/etl-engine/wiki/etl-crontab%E8%B0%83%E5%BA%A6)
  [嵌入脚本开发](https://github.com/hw2499/etl-engine/wiki/%E5%B5%8C%E5%85%A5%E8%84%9A%E6%9C%AC%E5%BC%80%E5%8F%91)
  [etl-engine配置样例](https://github.com/hw2499/etl-engine/wiki/etl-engine%E4%BD%BF%E7%94%A8%E6%A0%B7%E4%BE%8B)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值