博客 聊聊云原生大数据平台(四)——数据处理

聊聊云原生大数据平台(四)——数据处理

   数栈君   发表于 2023-01-09 15:05  350  0

数据处理

数据处理是整个平台中比较复杂,也是各种流派争夺比较激烈的部分。最典型的做法是使用两套计算引擎来分别支持批处理和流处理,与数据获取部分一致。这样做的好处是可以针对业务场景选择最合适的技术,且更能发挥框架本身的特长。绝大多数公司都是以批处理需求为主的,那样的话在一开始也就没有必要引入流处理引擎了。

5.1 批处理

批处理方面最流行的框架莫过于 Apache Spark,作为一个老牌开源项目,社区活跃,发展阶段较为成熟,功能上也非常全面强大,除了典型的结构化数据处理外,也能支持非结构化数据,图数据等。如果是以结构化数据为主,那么老牌的 Hive,以及 Presto,Dremio 等新晋力量也是非常不错的 SQL 计算引擎选择。在做海量数据的批处理时,也会涉及到不少优化手段,如各种 join 方式的选择,任务并行度的调整,数据倾斜的处理等,这里就不具体展开了。

5.2 流处理

流处理方面国内听到最多的肯定是 Apache Flink 了。此外像 Spark Streaming,Kafka Streams 也都提供了相应的流处理能力。对于一些复杂计算逻辑,流式计算上的开发门槛还是相当高的,而很多需求其实不一定要在流处理中做复杂计算也能实现。例如我们可以把数据简单处理后实时写入到实时分析型数据库,如 ClickHouse,Pinot,Rockset,或者像 ElasticSearch,KV 存储,in-memory DB 之类的系统中,也能提供流式计算一大部分的需求满足,后面我们会介绍相应例子。流式处理也跟批处理一样,需要做各种性能,扩展性的优化工作,比如指定分区逻辑,解决数据倾斜,checkpoint 调优等。

5.3 流批一体

最近几年流批一体的概念也比较火,尤其是 Flink 社区,认为批处理只是流处理的一种特殊形式,完全可以使用统一的框架来完成。这跟前面提到的 Kappa 架构差不多是一个意思。当然也有从软件层面来做统一的尝试,例如 Apache Beam,可以使用相同的 DSL 来做开发,底层执行时再转换到 Spark 或者 Flink 上分别执行批处理和流处理。


http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/3f94aa2c22ec1e925603b137220f4697..jpg

Flink 的流批一体


http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/91f753768be4edd8290c18395cb60adf..jpg

Beam 的流批一体

5.4 需求与产品

对于数据处理组件,需要满足的要求有:

  • 计算的水平扩展能力,能够使用多节点来进行大数据量的计算。
  • 稳定性和可用性,多节点的 failover/recovery 能力。
  • 灵活开放的 API/SDK/DSL 支持,如可以使用 SQL,或者各类主流编程语言开发处理逻辑。

批处理产品除了前面提到的各种开源框架,云厂商也有提供各种 managed service,包括我们耳熟能详的 AWS EMR,Google Dataproc 或 Cloud Dataflow(基于 Beam),Azure Databricks 等。

流处理产品包括云厂商提供的 AWS Kinesis Data Analytics,Google Cloud Dataflow,Azure Stream Analytics。此外也有一些知名的 SaaS 厂商,包括 Kafka 的“官方”公司 ConfluentUpsolverMaterialize 等。


http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/9397b2dde3ff86e69817b7e4f48e170f..jpg

流式数据处理公司 Materialize

(文章来源于网络,如侵删)

相关链接:

聊聊云原生大数据平台(一)——数据平台架构 https://www.dtstack.com/bbs/article/428

聊聊云原生大数据平台(二)——数据获取  https://www.dtstack.com/bbs/article/469

聊聊云原生大数据平台(三)——数据存储 https://www.dtstack.com/bbs/article/470

聊聊云原生大数据平台(四)——数据处理 https://www.dtstack.com/bbs/article/471

聊聊云原生大数据平台(五)——元数据 https://www.dtstack.com/bbs/article/472

聊聊云原生大数据平台(六)——数据消费 https://www.dtstack.com/bbs/article/473

聊聊云原生大数据平台(七)——流程编排与 ETL https://www.dtstack.com/bbs/article/474

聊聊云原生大数据平台(八)——数仓最佳实践 https://www.dtstack.com/bbs/article/475

聊聊云原生大数据平台(九)——大数据平台建设 https://www.dtstack.com/bbs/article/476

袋鼠云在大数据领域深耕7年,拥有丰富的大数据平台建设经验和成熟的产品体系,想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:https://github.com/DTStack

0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群