告别Kafka Stream,让轻量级流处理更加简单

简介: 还在花精力去选型Kafka组件去做清洗转化?来试试Kafka ETL任务功能!

一说到数据孤岛,所有技术人都不陌生。在 IT 发展过程中,企业不可避免地搭建了各种业务系统,这些系统独立运行且所产生的数据彼此独立封闭,使得企业难以实现数据共享和融合,并形成了"数据孤岛"。

由于数据散落在不同数据库、消息队列中,计算平台直接访问这些数据时可能遇到可用性、传输延迟,甚至系统吞吐问题。如果上升到业务层面,我们会发现这些场景随时都会遇到:汇总业务交易数据、旧系统数据迁移到新系统中、不同系统数据整合。因此,为了能让数据更加实时、高效的融合并支持各业务场景,企业通常选择使用各种 ETL 工具以达到上述目的。

因此,我们可以看到企业自行探索的各种解决方案,比如使用自定义脚本,或使用服务总线(Enterprise Service Bus,ESB)和消息队列(Message Queue,MQ),比如使用企业应用集成(Enterprise application integration,EAI)通过底层结构的设计来横贯企业异构系统、应用、数据源等,实现数据的无缝共享与交换。

尽管以上手段都算实现了有效实时处理,但也给企业带来更难决断的选择题:实时,但不可扩展,或可扩展。但批处理。与此同时,随着数据技术、业务需求的不断发展,企业对 ETL 的要求也不断提升:

  • 除了支持事务性数据,也需要能够处理诸如 Log、Metric 等类型越来越丰富的数据源;
  • 批处理速度需要进一步提升;
  • 底层技术架构需要支持实时处理,并向以事件为中心演进。

可以看到,流处理/实时处理平台作为事件驱动交互的基石。它向企业提供了全局化的数据/事件链接、即时数据访问、单一系统统管全域数据以及持续索引/查询能力。也正是面对以上技术与业务需求,Kafka 提供了一个全新思路:

  • 作为实时、可扩展消息总线,不再需要企业应用集成;
  • 为所有消息处理目的地提供流数据管道;
  • 作为有状态流处理微服务的基础构建块。

我们以购物网站数据分析场景为例,为了实现精细化运营,运营团队以及产品经理需要将众多用户行为、业务数据以及其他数据数据进行汇总,这其中包括但不限于:

1. 用户各类点击、浏览、加购、登陆等行为数据;

2. 基础日志数据;

3. APP 主动上传数据;

4. 来自 db 中的数据;

5. 其他。

这些数据汇集到 Kafka,然后数据分析工具统一从 Kafka 中获取所需的数据进行分析计算。由于 Kafka 采集的数据源非常多且格式也各种各样。在数据进入下游数据分析工具之前,需要进行数据清洗,例如过滤、格式化。在这里研发团队有两个选择:(1)写代码去消费 Kafka 中的消息,清洗完成后发送到目标 Kafka Topic。(2)使用组件进行数据清洗转换,例如:Logstash、Kafka Stream、Kafka Connector、Flink等。

看在这里,大家肯定会有疑问:Kafka Stream 作为流式处理类库,直接提供具体的类给开发者调用,整个应用的运行方式主要由开发者控制,方便使用和调试。这有什么问题吗?虽然以上方法确实能够很快解决问题,但其问题也显而易见。

  • 研发团队需要自行编写代码,且需要后期持续维护,运维成本较大;
  • 对于很多轻量或简单计算需求,引入一个全新组件的技术成本过高,需要进行技术选型;
  • 在某组件选定后,需要研发团队进行学习并持续维护,这就带来了不可预期的学习成本、维护成本。

1.png

为了解决问题,我们提供了一个更加轻量的解决方案:Kafka ETL 功能。

使用 Kafka ETL 功能后,只需通过 Kafka 控制台进行简单配置,在线写一段清洗代码,即可实现 ETL 的目的。可能存在的高可用、维护等问题,完全交由 Kafka。

那么接下来,我们为大家展示如何快速的创建数据 ETL 任务,仅需 3 步即可。

Step 1 : 创建任务

选择 Kafka 来源实例、来源 Topic,以及对应的选择 Kafka 目标实例、目标 Topic。并配置消息初始位置、失败处理以及创建资源方式。

2.png

3.png

Step 2:编写ETL主逻辑

我们可以选择 Python3 作为函数语言。与此同时,这里提供了多种数据清洗、数据转化模板,比如规则过滤、字符串替换、添加前/后缀等常用函数。

4.png

image.gif

Step 3:设置任务运行、异常参数配置,并执行

5.png

可以看到,无需额外的组件接入或者复杂的配置,更轻量、更低成本的 Kafka ETL 仅需 3-5 步的可视化配置,即可开始 ETL 任务。对于数据 ETL 要求相对简单的团队而言,Kafka ETL 成为最佳选择,可以将更多精力放在业务研发上。

原文链接

本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

元宇宙“性骚扰”现象频出,Meta推出“个人结界”能保护好女玩家吗?

作者 | 小码君来源 | 抓码青年元宇宙,可以说是最近最炙手可热的概念了。各大厂纷纷入局元宇宙,Faceebook甚至将总公司名字都改名为Meta。不过盯上元宇宙的可不止资本大鳄,还有一些不怀好意的色狼。据外媒报道称,在Meta的Oculus设备…

【CDS技术揭秘系列 01】阿里云CDS-OSS容灾大揭秘

简介: 本文主要阐述 CDS 产品中 OSS 服务在容灾方面的部署形态以及实现的其本原理。 容灾功能可以保证用户一份数据在多个地方存在冗余备份,当某个机房出现极端异常(比如物理损毁)情况下,数据也不会出现丢失&#xff1…

如何促合作共赢?技术人的一点经验分享

简介: 本文作者将通过与詹韦团队一起合作的《树懒平台》,分享在工作过程中,我们什么情况下会有合作诉求?有了合作诉求之后,如何寻找对的人?锁定候选人之后,如何打动对方促成合作?合作…

不记得 Git 命令? 懒人版 Git 值得拥有!

作者 | Eason来源 | 程序员巴士Git的强大是所有开发者都心知肚明的事情,但是其多样的命令令人很是难受。不过在Github上有着这么一个开源项目lazygit[1]。Lazygit是由Jesseduffield开发并维护的项目,其代码托管在Github。通过使用Lazygit,我们…

Dubbo3.0|阿里巴巴服务框架三位一体的选择与实践

简介: 服务框架就像铁路的铁轨一样,是互通的基础,只有解决了服务框架的互通,才有可能完成更高层的业务互通,所以用相同的标准统一,合二为一并共建新一代的服务框架是必然趋势。Dubbo3.0 是 Dubbo2.0 与 HSF…

全球首款乘云而来的存储产品CDS诞生!

9月22日,阿里云发布全球首款“云定义存储”(Cloud Defined Storage,CDS)产品。作为一款本地部署的分布式存储产品,阿里云CDS拥有与公共云存储相同的技术架构,让企业客户在本地也能部署和使用与公共云一致的…

性能提升3倍、时延降低70%,阿里云企业级存储ESSD云盘再升级!

9月22日,阿里云存储年度新品发布会上,阿里云基础产品资深产品总监陈起鲲发布了其全球领先的旗舰级块存储产品ESSD的两款新规格(ESSD Auto PL、ESSD PL-X),并宣布了新增的多项企业级能力。 据了解,ESSD是阿…

一图看懂,什么是“云定义存储”

世界的诞生是从盘古开天辟地开始 而数据的存储 则由在龟甲上刻下的第一个字开始 经过数千年发展 数据存储也从最初的 龟壳、竹简等材料逐步进化到磁带、硬盘甚至云上 在之前几千年里 人们对于数据存储的需求并没那么高 仅仅通过纸张就能将所有数据记录下来 随着第一台计算机面…

Android 13 第一个开发者版本来了,网友直呼:Android 12 还没玩透!

整理 | 苏宓出品 | CSDN(ID:CSDNnews)2 月 10 日,Google 宣布 Android 13 首个预览版面向开发者开放,此版本重点聚焦隐私和安全、提供开发者生产力、应用兼容性,并保持与 OpenJDK 11 更新一致、提供主题图标…

「技术人生」第6篇:技术同学应该如何理解业务?

简介: 本文以大量理论论述解析业务,并提供多种基于不同场景的实操方法,帮助技术同学以科学、合理的方式开展日常工作、指导团队开展业务建设,保障顶层设计的落地执行。 一. 背景 目前已经发布《技术一号位的方法论》系列文章其实…

参数设置_变频器基本参数设置

工业设备的使用如何达到最大效能以及最佳效果,需要使用人员充分了解设备性能以及工艺要求,所以变频器参数设置或者优化是非常重要的环节,古人云失之毫厘差之千里就是这个道理。一、变频器基本参数设置参数设置可以是手持编程器操作&#xff0…

Morphling:云原生部署 AI , 如何把降本做到极致?

简介: Morphling 本意是游戏 Dota 中的英雄“水人”,他可以根据环境要求,通过灵活改变自身形态,优化战斗表现。我们希望通过 Morphling 项目,实现针对机器学习推理作业的灵活、智能的部署配置改变,优化服务…

datax参数设置_DataX Web数据增量同步配置说明

一、根据日期进行增量数据抽取1.页面任务配置打开菜单任务管理页面,选择添加任务按下图中5个步骤进行配置1.任务类型选DataX任务2.辅助参数选择时间自增3.增量开始时间选择,即sql中查询时间的开始时间,用户使用此选项方便第一次的全量同步。第…

Node18 即将支持 import HTTP资源!

作者 | 零一来源 | 前端印象最近看到Node官方提交了一条commit ,并且已经合入 master分支 ,如下图所示:node master commit由此可见,Node18可能会支持一个非常 nice 的功能,那就是 支持 import 远程HTTPS资源和本地的H…

MYSQL深潜 - 剖析Performance Schema内存管理

简介: 本文主要是通过对PFS引擎的内存管理的源码的阅读,解读PFS内存分配及释放原理,深入剖析其中存在的一些问题,以及一些改进思路。本文源代码分析基于Mysql-8.0.24版本。 作者 | 之枢 来源 | 阿里技术公众号 一 引言 MYSQL Pe…

基于MaxCompute SQL 的半结构化数据处理实践

简介: MaxCompute作为企业级数据仓库服务,集中存储和管理企业数据资产、面向数据应用处理和分析数据,将数据转换为业务洞察。通过与阿里云内、外部服务灵活组合,可构建丰富的数据应用。全托管的数据与分析解决方案,可简…

file_get_contents请求失败处理_SpringCloud Gateway网关处理请求过程中遇到400Bad Request问题解决方案...

大家在使用springcloud自己的gateway作为网关服务时,可能会不小心遇到自定义的Filter处理请求Request报文时出现400的错误,而且这个错误还不是每次请求都必现,额什么意思?难不成你是说请求还时好时坏?bingo&#xff01…

CSDN企业数字化之路 ——「低代码」发展研讨会北京站现场实录大放送

作者 | 千鸟 出品 | CSDN云计算(ID:CSDNcloud) 2021年底,CSDN面向行业开发者和高校学生开发者,展开了关于“低代码”的开发者调研活动。基于调研数据,CSDN提出了对低代码发展趋势的五大方向。在随后举行的 …

MaxCompute 存储设计

简介: 存储策略该怎么设计 写这篇存储规划的文章主要是想告诉大家该如何给存储做一个规划,在关系数据库的时代存储昂贵且珍惜,掰手指头花钱是存储规划的常态。但是到了大数据时代大家又立即就都变成印美元的美国政府了,感觉存储很…

Serverless Devs 2.0 开箱测评:Serverless 开发最佳实践

简介: 当下,Serverless 概念很火,很多同学被 Serverless 的优势吸引过来,比如它的弹性伸缩,免运维,高可用,资费少。但真正使用起来去落地的时候发现问题很多,大型项目如何组织函数&a…