大数据标签获取处理步骤_盘点大数据处理引擎

本文介绍了大数据处理阶段的重要工具,如Apache Hive、Spark、Flink、Storm和Presto,阐述了它们在数据清洗、转换、实时流处理和批处理中的作用。重点在于理解这些工具的分布式特性和优化使用,以创建高效、可信的数据集供业务分析。推荐新项目采用Apache Beam作为未来导向的抽象框架。

提到大数据,我们就离不开数据的收集整理,其中ETL是我们经常使用的用于构建数据仓库, 构建大数据的方法。

大数据处理阶段


此阶段的目标是使用单个模式来清理,规范化,处理和保存数据。最终结果是具有定义良好的架构的可信数据集。例如Spark之类的处理框架用于在机器集群中并行处理数据。在这里我们需要进行数据的验证,隔离掉不合法的数据,我们需要对不良数据进行筛选过滤。对于不规范的数据,我们需要有整理和清洁功能,我们要能够将一些低效的格式入json进行转换。同时我们可能还需要一些标准化的操作,比如对一些数值进行小数点位的精度转化。

008f68a67c3baa583a58cad250757c27.png


大数据处理的最终目的就是创建一个可信数据集,然后下游系统可以依赖此数据源进行业务分析和数据计算。


对于大数据的处理,主要有下面的几个工具引擎。

Apache Hive

它是将SQL请求转换为MapReduce任务链的引擎。它主要实现的功能是对传入的SQL进行排序然后优化排序结果,最终得到高效率的请求结果。2018年它将MapReduce替换为Tez作为搜索引擎。它具有机器学习功能,并且在和其他流行的大数据框架进行集成。

db6bc53d1406130d8ec403bd346c9753.png

Apache Spark

这是最著名的批处理框架。它是Hadoop生态系统的一部分,是一个托管集群,可提供强大的并性,有着精准的监控和出色的UI。它还支持流处理(结构化流)。基本上,Spark在内存中运行MapReduce作业,其性能是常规MapReduce性能的100倍。它与Hive集成以支持SQL,并可用于创建Hive表,视图或查询数据。它具有很多集成,支持多种格式,并且拥有庞大的社区。所有云提供商都支持它。它可以在YARN上运行作为Hadoop集群的一部分,还可以在Kubernetes和其他平台中使用。它具有许多的第三方库可以使用。

Apache Flink

第一个统一批处理和流传输的引擎,它可以用作像Kafka这样的微服务的主干。它可以作为Hadoop集群的一部分在YARN上运行,它还针对其他平台(如Kubernetes或Mesos)进行了优化。它非常快,并且提供实时流传输,使其成为针对低延迟流处理(尤其是有状态流)的一个比Spark更好的选择。它还具有用于SQL,机器学习等的库。它比Spark更快,是数据流的更好选择。

Apache Storm

是一个免费和开源的分布式实时计算系统,它专注于流传输,是Hadoop生态系统的托管解决方案部分。它具有可扩展性,容错性,可确保您的数据将得到处理,并且易于设置和操作。

Apache Samza

一个出色的有状态流处理引擎。Samza允许您构建有状态的应用程序,它可以从多个来源实时处理数据。它不仅可以在YARN集群上运行,也可以作为独立库单独运行。

7e7736671d4faccb96b1f2313caae1b2.png

Apache Beam

它本身不是引擎,而是将所有其他引擎结合在一起的统一编程模型的规范。它提供了可以与不同语言一起使用的编程模型,因此开发人员在处理大数据管道时不必学习新的语言。然后,它为可以在云或本地运行的处理步骤插入了不同的后端。Beam支持前面提到的所有引擎,您可以在它们之间轻松切换并在任何平台上运行它们:云,YARN,Mesos,Kubernetes。如果您要开始一个新项目,那么建议您从Beam开始,因为Beam是面向未来的。

Presto

Presto是一个开放源代码的分布式SQL查询引擎,适合于对各种大小,各种数据源进行交互式分析查询。

Presto是专为交互式分析而设计和编写的,当它的规模扩展到一定的规模的时候,它也可以实现商业数据仓库的处理速度。

Presto允许查询数据存在多个地方,包括Hive,Cassandra,关系数据库甚至专有数据存储。一个Presto查询可以合并来自多个来源的数据,从而可以在整个组织中进行分析。

Presto适用于期望响应时间从亚秒到数分钟不等的分析师。Presto打破了使用昂贵的商业解决方案进行快速分析或使用需要大量硬件的慢速“免费”解决方案之间的错误选择。

总结

处理引擎是当前在大数据词中使用的最著名的工具。作为大数据工程师,您将经常使用这些引擎。了解这些引擎的分布式特性并知道如何优化它们,保护它们并监视它们至关重要。

a0a1423f5c46f49611d4bf6a2f09063e.png

请记住,还有一些OLAP引擎提供了一种查询大量数据的单一解决方案,而无需编写复杂的转换,而是通过以一种特定的格式加载数据来提高查询的性能。

对于一个新项目,建议您研究Apache Beam,因为它在所有其他引擎的基础上提供了一个抽象,使您无需更改代码即可更改处理引擎。

对于流处理,特别是有状态流处理,请考虑Flink或Samza。对于批处理,请使用Spark。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值