什么是Hadoop?大数据加工和处理方法

x33g5p2x  于2020-12-22 发布在 Hadoop  
字(3.6k)|赞(0)|评价(0)|浏览(518)

什么是 hadoop

Hadoop 是一种将多台计算机连接在一起处理大量数据的技术。

上面也简短地描述,它由"分布式文件系统"组成,它提供在数千台分布式 x86 设备上存储大型文件的能力,以及使用分布式服务器的 cpu 和内存资源快速分析存储文件的能力。

Hadoop 由 Apachi Lucchi 创始人 Didch 切割于 2006 年担任雅虎工程师开发,现在由许多开源开发人员自由使用。

ex) Facebook 存储的数据存储量为 30 pb,是美国国家管道中存储信息的三倍,约有 2,000 台服务器正在处理数据,以便用户可以轻松上传和检索图像。

与 Hadoop 相关的开源解决方案每年都在发展,并构建与 Hadoop 相关的 Hadoop 生态系统,称为"Hadoop 生态系统"。
子项目的大部分与动物名称相关,而管理它们的是守护者。

什么是"zookeeper"?

首先,最好理解管理分布式服务器。当群集使用各种技术时,当一台服务器上执行所有操作时,此服务器将成为单个故障点 (spof)。它使用分布式服务器管理技术来降低风险。可以认为是其中之一的服务。


zookeeper service

提供以下服务:

  1. 将服务分散到一台服务器上,使其不集中在一台服务器上,并同时进行处理

  2. 将一台服务器处理的结果与另一台服务器同步,以确保数据的稳定性。

  3. 如果操作服务器出现问题,无法提供服务,请将其他备用服务器更换为生产服务器,以便服务不会停止。

  4. 统一管理构成分布式环境的服务器首选项。

大数据处理步骤

大数据必须一旦处理,

收集 - >片剂 - > - >分析 - >可视化


收集、纯化、红化、分析、可视化

换句话说,让我们看看如何处理该区间。

1.收集

大数据从多个内部和外部来源获取数据。因此,它收集各种格式的数据。

收集现有数据
    http Web 服务, rdb, ftp, jms, text

以新方式收集数据
    sns 上的各种数据(文本、图像、视频)
    电话语音,gps
    iot 设备传感器
    空间数据 + 人口数据

数据收集技术

1) flume:Flod 是一种分布式软件,用于高效收集、收集、移动大量日志数据

2) kafka:开源消息代理项目

3) sqoop :一个命令行界面应用程序,可有效转换 rdb 和 hadoop 之间的大量数据

4) nifi:旨在实现软件系统间数据流自动化的软件项目

5) flink:开源流处理框架

6) splunk:通过 Web 样式界面搜索、监控和分析机器生成的大数据的软件

7) logstash:具有实时管道功能的开源数据收集引擎

8) fluentd:跨平台开源数据采集软件项目

2.片剂

以可分析的形式组织数据。由于从多个路径的不同方向收集的数据都不同类型,因此必须转换为适合分析阶段中使用的工具的形式。此外,在更改数据时,删除错误数据或不必要的数据。最后,通过压缩纯化数据来减小数据大小。

精炼阶段

1) 标识:识别各种已知数据格式或分配给非结构化数据的默认格式

2) filtration:从收集的信息中排除不准确的数据

3) validation:验证数据

4) noise reduction:删除错误数据并排除不可分析的数据

5) 转换:将数据转换为可分析的形式

6) compression:压缩

7) 集成:装载处理后的数据

数据序列化技术

1) avro:一个远程过程调用 (rpc) 和数据序列化框架,由 Apa奇的 Hadoop 项目开发。

2) thrift:一个 rpc 框架,支持集成由 Facebook 开发的不同语言开发的模块。

3) protocol buffers:由谷歌开发的rpc框架。提供一种序列化结构化数据的方法。特别是,序列化速度快,序列化文件体积小,因此经常与 apache avro 文件格式一起使用。

3.装载

将大量数据移动到一个可以安全地存储和分析的环境。根据要分析的工具,将数据装载到各种环境中,包括 nosql、rdb、云存储和 hdfs。从 rdb 中提取的数据或以 csv 形式提供的数据可以直接装载,而无需执行任何精炼步骤。

存储技术

1) hdfs :Hadoop 分布式文件系统(hdfs,hadoop 分布式文件系统)是一个分布式扩展文件系统,以 Java 语言为 Hadoop 框架编写。hdfs 将通用计算机组织到群集中,将大型文件拆分为多个块,并将其存储在多个服务器上。

2) s3:aws 提供的互联网存储。类似的云服务包括 azure 中的 data lake 和 blob 存储,以及 google 的云存储。

4.分析

使用装载的数据生成报告以提供决策数据的步骤。需要处理引擎来快速分析大量数据,需要分区、索引等技术来有效地分析。使用实时分析、批处理分析(天、周、月)生成报告。基于 Hadoop 的 Mapedus,有许多技术,如火花、蜂巢、hbase 和 Impala。

分析技术

1) mapreduce:Mapreduce 是 hdfs 上最基本的分析技术。在重复简单的单元操作时,使用高效的映射模型分析数据。


mapreduce 逻辑

2) spark:Spark 是一个基于内存的通用数据处理平台。批处理、机器学习、sql 查询处理、流数据处理、图形库处理它的设计,以适应各种任务,如。

详细说明是:https://www.slideshare.net/kangdognhyun/apache-spark-70360736


spark 平台

3) impala :Impala 是克劳德拉开发的基于 Hadoop 的分布式查询引擎。不使用映射,而是使用使用 c++ 开发的内存引擎快速运行。Impala 使用 hiveql 作为数据查询的接口,可以在几秒钟内查看 sql 查询的结果。

4) presto :Presto 是一个分布式查询引擎,用于处理 Facebook 开发的交互式查询。它基于内存处理数据,可以使用 sql 处理存储在各种数据存储中的数据。(性能比 hive 快 10 倍)

5) hive :蜂巢 (hive) 是基于 Hadoop 的数据仓库解决方案。 由 Facebook 开发。它提供一种称为 hiveql 的查询语言,与 sql 非常相似。因此,了解贾巴的数据分析师可以轻松分析 Hadoop 数据。hiveql 在内部转换为映射杂,并运行。

6) hcatalog:hcatalog 是一个工具,用于从 pig、mapreduce 和 spark 访问 hive 元存储表。提供 rest 接口和命令行客户端,用于创建表或执行其他操作。

7) pig:提供自己的语言,称为"皮格拉丁",以取代复杂的映射编程。映射 api 非常简化,其设计形式类似于 sql。

5.可视化

由于太多的数据是信息过剩,用户可能会负担检查,因此需要用户快速识别的可视化形式。

可视化技术

** 1) zeppelin:**notebook 是一种解决方案,用于运行各种解决方案的 api、query 等,如 spark、tajo、hive、elasticsearch 等,并在 Web 上表示结果。

监控技术

1) hue : Hadoop 用户体验)是一个开源开源,为 Hadoop 和 Hadoop 生态系统提供支持提供 Web 界面。提供用于运行 hive 查询的接口,并提供用于可视化的工具。它提供用于调度杂乱的接口,以及用于监视 Hadoop 的接口,如杂战、hdfs 等。

**有关上述技术简介页面,请参阅以下链接。

https://wikidocs.net/22651#_1

其他技术

1.任务管理技能

任务管理技术是帮助您高效地创建、管理和监控分析大数据的各种步骤的技术。

** 1) airflow :**气流是一个工作流平台,可可视化、调度和监控 Airbnb 开发的数据流。可与蜂巢、普雷斯托和 dbms 发动机结合使用。


空气流监控屏幕

2) azkaban :Azkaban 是一种工作流管理工具,具有由 LinkedEn 开发的工作流调度器、可视化程序、身份验证和权限管理、任务监控和警报等功能。

** 3) oozie: _Woozi 是一个工作流和协调员系统,用于管理 Hadoop 任务。ui 提供 Java Web 应用程序服务器,并控制由特殊操作(如映射、hive 和 pig 操作)组成的 xml 格式工作流。


oozie 工作流任务控制屏幕

2.群集管理

大数据通常被视为群集,而不是单个系统,因此需要有效地使用资源。

1) yarn :yarn 是用于运行数据处理操作的群集资源(cpu、内存、磁盘等)和调度框架。从 Hadoop2.0 开始提供,各种应用程序(如 Mapdudus、蜂巢、Impala、鸟和火花)在 Jan 中分配资源并运行任务。


yarn 框架

2) mesos :一个资源管理项目,用于统一管理云基础架构和计算引擎的各种资源(cpu、内存和磁盘)。提供机制,在群集环境中动态分配和隔离资源。Hadoop、Spark(spark)、风暴(风暴)、弹性搜索(弹性搜索)、卡桑德拉(cassandra)和Jenkins)等应用可以运行在Mesus上。


mesos 环境

相关文章