加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

聊聊几种流行的数据处理工具

发布时间:2021-12-04 14:09:28 所属栏目:大数据 来源:互联网
导读:数据分析是对数据进行摄
数据分析是对数据进行摄取、转换和可视化的过程,用来发掘对业务决策有用的洞见。
 
在过去的十年中,越来越多的数据被收集,客户希望从数据中获得更有价值的洞见。他们还希望能在最短的时间内(甚至实时地)获得这种洞见。他们希望有更多的临时查询以便回答更多的业务问题。为了回答这些问题,客户需要更强大、更高效的系统。
 
批处理通常涉及查询大量的冷数据。在批处理中,可能需要几个小时才能获得业务问题的答案。例如,你可能会使用批处理在月底生成账单报告。
 
实时的流处理通常涉及查询少量的热数据,只需要很短的时间就可以得到答案。例如,基于MapReduce的系统(如Hadoop)就是支持批处理作业类型的平台。数据仓库是支持查询引擎类型的平台。
 
流数据处理需要摄取数据序列,并根据每条数据记录进行增量更新。通常,它们摄取连续产生的数据流,如计量数据、监控数据、审计日志、调试日志、网站点击流以及设备、人员和商品的位置跟踪事件。
 
图13-6展示了使用AWS云技术栈处理、转换并可视化数据的数据湖流水线。
 
 
 
▲图13-6 使用数据湖ETL流水线处理数据
 
在这里,ETL流水线使用Amazon Athena对存储在Amazon S3中的数据进行临时查询。从各种数据源(例如,Web应用服务器)摄取的数据会生成日志文件,并持久保存在S3。然后,这些文件将被Amazon Elastic MapReduce(EMR)转换和清洗成产生洞见所需的形式并加载到Amazon S3。
 
用COPY命令将这些转换后的文件加载到Amazon Redshift,并使用Amazon QuickSight进行可视化。使用Amazon Athena,你可以在数据存储时直接从Amazon S3中查询,也可以在数据转换后查询(从聚合后的数据集)。你可以在Amazon QuickSight中对数据进行可视化,也可以在不改变现有数据流程的情况下轻松查询这些文件。
 
以下是一些最流行的可以帮助你对海量数据进行转换和处理的数据处理技术:
 
01 Apache Hadoop
 
 
Apache Hadoop使用分布式处理架构,将任务分发到服务器集群上进行处理。分发到集群服务器上的每一项任务都可以在任意一台服务器上运行或重新运行。集群服务器通常使用HDFS将数据存储到本地进行处理。
 
在Hadoop框架中,Hadoop将大的作业分割成离散的任务,并行处理。它能在数量庞大的Hadoop集群中实现大规模的伸缩性。它还设计了容错功能,每个工作节点都会定期向主节点报告自己的状态,主节点可以将工作负载从没有积极响应的集群重新分配出去。
 
Hadoop最常用的框架有Hive、Presto、Pig和Spark。
 
02 Apache Spark
 
 
Apache Spark是一个内存处理框架。Apache Spark是一个大规模并行处理系统,它有不同的执行器,可以将Spark作业拆分,并行执行任务。为了提高作业的并行度,可以在集群中增加节点。Spark支持批处理、交互式和流式数据源。
 
Spark在作业执行过程中的所有阶段都使用有向无环图(Directed Acyclic Graph,DAG)。DAG可以跟踪作业过程中数据的转换或数据沿袭情况,并将DataFrames存储在内存中,有效地最小化I/O。Spark还具有分区感知功能,以避免网络密集型的数据改组。
 
03 Hadoop用户体验
Hadoop用户体验(Hadoop User Experience,HUE)使你能够通过基于浏览器的用户界面而不是命令行在集群上进行查询并运行脚本。
 
HUE在用户界面中提供了最常见的Hadoop组件。它可以基于浏览器查看和跟踪Hadoop操作。多个用户可以登录HUE的门户访问集群,管理员可以手动或通过LDAP、PAM、SPNEGO、OpenID、OAuth和SAML2认证管理访问。HUE允许你实时查看日志,并提供一个元存储管理器来操作Hive元存储内容。
 
04 Pig
 
 
Pig通常用于处理大量的原始数据,然后再以结构化格式(SQL表)存储。Pig适用于ETL操作,如数据验证、数据加载、数据转换,以及以多种格式组合来自多个来源的数据。除了ETL,Pig还支持关系操作,如嵌套数据、连接和分组。
 
Pig脚本可以使用非结构化和半结构化数据(如Web服务器日志或点击流日志)作为输入。相比之下,Hive总是要求输入数据满足一定模式。Pig的Latin脚本包含关于如何过滤、分组和连接数据的指令,但Pig并不打算成为一种查询语言。Hive更适合查询数据。Pig脚本根据Pig Latin语言的指令,编译并运行以转换数据。
 
05 Hive
 
 
Hive是一个开源的数据仓库和查询包,运行在Hadoop集群之上。SQL是一项非常常见的技能,它可以帮助团队轻松过渡到大数据世界。
 
Hive使用了一种类似于SQL的语言,叫作Hive Query语言(Hive Query Language,HQL),这使得在Hadoop系统中查询和处理数据变得非常容易。Hive抽象了用Java等编码语言编写程序来执行分析作业的复杂性。
 
06 Presto
Presto是一个类似Hive的查询引擎,但它的速度更快。它支持ANSI SQL标准,该标准很容易学习,也是最流行的技能集。Presto支持复杂的查询、连接和聚合功能。
 
与Hive或MapReduce不同,Presto在内存中执行查询,减少了延迟,提高了查询性能。在选择Presto的服务器容量时需要小心,因为它需要有足够的内存。内存溢出时,Presto作业将重新启动。
 
07 HBase
 
 
HBase是作为开源Hadoop项目的一部分开发的NoSQL数据库。HBase运行在HDFS上,为Hadoop生态系统提供非关系型数据库。HBase有助于将大量数据压缩并以列式格式存储。同时,它还提供了快速查找功能,因为其中很大一部分数据被缓存在内存中,集群实例存储也同时在使用。

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读