【读书笔记】大数据原理与应用:大数据处理架构Hadoop

简介: 【读书笔记】大数据原理与应用:大数据处理架构Hadoop

简 介:这本书的名字为大数据技术原理与应用,该书的作者为厦门大学著名的研究大数据方向的林子雨老师。顾名思义,概述讲述了大数据的相关知识,包含一些分布式系统以及各种流计算等大数据技术。本书讲述的非常棒,通俗易懂。下面是我在读这本书的时候的记录并加上自己的理解。本文意在记录自己近期学习过程中的所学所得,如有错误,欢迎大家指正。

 

关键词:Hadoop、MapReduce、大数据生态

一、Hadoop简介

Hadoop是Apache旗下的一个开源分布式计算平台,为广大用户提供了分布式基础架构。Hadoop的两大核心就是HDFS和MapReduce。HDFS就是分布式文件系统,它是将谷歌的GFS进行了开源实现,它支持大规模数据的分布式存储。而MapReduce是用来进行整个HDFS上的数据,使集群中的每个机器进行并行操作,保证处理数据的高效性。

二、Hadoop的特点

Hadoop本身是一种分布式计算框架,具有可靠、高效等特性。

  1. 高效性:Hadoop是分布式计算平台,它有效地利用了分布式存储和分布式并行处理两大核心技术,大大提高了数据处理的效率
  2. 可扩展性:因为Hadoop是建立在大的集群之上,所以它可以扩展很多个节点
  3. 可靠性:因为是集群形式,尽管存在一台机器宕机,但是集群中的其它机器仍然可以进行服务
  4. 高容错性:Hadoop的HDFS采用的是副本机制,同样的数据存储在多个机器中,有多个副本,一旦某台机器的数据丢失,其它的机器仍然可以提供丢失的数据
  5. 成本低:集群方式使得我们可以使用很多廉价的机器进行运转任务

三、Hadoop的生态系统

现在已经有很多成熟的框架支持并建立在Hadoop的系统之上,比如Hive、HBase、Spark等大数据组件。

上图可以观察到HDFS是很多大数据框架依赖的基础,因为我们的数据全部都是要存储到分布式文件系统中,然后利用现有的大数据组件进行分析处理、存储等操作。

1.HDFS:

HDFS的全名为Hadoop Distributed File System,它显著的有点就是可以运行在很多廉价的服务器上,而且由于集群的原因,它保证了用户数据的可靠性。而且它的吞吐率很高,这也就是为什么它适合大数据的原因。

2.HBase:

HBase是大数据生态系统中的一个数据库,但是它不同于mysql这些,它是NoSQL,底层是以列进行存储,可以很好的存储非结构化数据,采用rowKey进行区分每条数据。HBase其实就是谷歌曾经的一篇论文BigTable的开源实现。

3.MapReduce

MapReduce简单来说它不是一种技术,它是一种编程思想,就是可以理解为将我们很多的数据进行切分,一系列的任务进行切分,统一的抽象成两个阶段,分别为Map阶段和Reduce阶段,Map阶段就是将我们的数据进行切分,然后Reduce阶段,将我们的中间结果进行聚合处理。最直白来说,MapReduce的核心思想就是分而治之,它会将一个大的任务分成多个小任务放到集群中多个服务器上去运行,最终整合所有服务器的结果。

4.Hive

Hive是一个基于Hadoop的数据仓库,可以理解为就是存储数据的仓库,这么说好像和数据库差不都,都属用来存数据的,虽说都可以存储数据,但是数据仓库往往是用来存历史数据或者是大型数据,以便于日后进行分析计算等。Hive提供了类SQL的语言进行编程(HQL),大大降低了学习难度,而且书写HQL可以将它转化为MR任务进行执行。

5.Zookeeper

Zookeeper是一种高可靠的协同工作系统,方便我们进行集群管理,以及分布式应用的配置管理等。

6.Flume

Flume是一个可以采集海量日志的工具,它可以实时的检测数据的产生将其采集到我们的数仓,然后进行分析,它的优点是我们可以自定向进行数据的转移。

,它可以实时的检测数据的产生将其采集到我们的数仓,然后进行分析,它的优点是我们可以自定向进行数据的转移。


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
18小时前
|
设计模式 消息中间件 运维
微服务架构在后端开发中的应用与挑战
微服务架构作为一种现代软件开发方法,带来了灵活性、可扩展性和高效性,但同时也引发了诸如复杂性管理、数据一致性等新的挑战。本文深入探讨了微服务架构在后端开发中的应用场景,以及应对这些挑战的策略。
4 0
|
1天前
|
存储 人工智能 NoSQL
探索数据库技术的奥秘:从基础架构到前沿应用
一、引言 在数字化时代,数据库技术作为信息管理的基石,已经渗透到我们生活的方方面面
|
1天前
|
存储 SQL Cloud Native
揭秘数据库技术的核心与未来:从架构到应用
一、引言 数据库技术是当代信息系统中不可或缺的一部分,它为企业和个人提供了可靠、高效的数据管理解决方案
|
1天前
|
前端开发 测试技术 API
探索安卓应用的架构演进:从MVC到MVVM
本篇文章将深入探讨安卓应用开发中的架构演进,特别关注从传统的MVC(Model-View-Controller)到现代流行的MVVM(Model-View-ViewModel)架构的转变。通过对比两种架构的设计理念、实现方式和实际应用案例,解析MVVM在提高代码可维护性和可测试性方面的优势。
6 0
|
2天前
|
存储 分布式计算 大数据
数据仓库与数据湖在大数据架构中的角色与应用
在大数据时代,数据仓库和数据湖分别以结构化数据管理和原始数据存储见长,共同助力企业数据分析。数据仓库通过ETL处理支持OLAP查询,适用于历史分析、BI报表和预测分析;而数据湖则存储多样化的原始数据,便于数据探索和实验。随着技术发展,湖仓一体成为趋势,融合两者的优点,如Delta Lake和Hudi,实现数据全生命周期管理。企业应根据自身需求选择合适的数据架构,以释放数据潜力。【6月更文挑战第12天】
18 5
|
4天前
|
传感器 物联网 数据中心
探索ARM架构及其核心系列应用和优势
ARM架构因其高效、低功耗和灵活的设计,已成为现代电子设备的核心处理器选择。Cortex-A、Cortex-R和Cortex-M系列分别针对高性能计算、实时系统和低功耗嵌入式应用,满足了不同领域的需求。无论是智能手机、嵌入式控制系统,还是物联网设备,ARM架构都以其卓越的性能和灵活性在全球市场中占据了重要地位。
8 1
|
4天前
|
监控 负载均衡 持续交付
深入理解微服务架构及其在现代后端开发中的应用
本文将深入探讨微服务架构的核心概念、设计原则和实施挑战,并分析其在现代后端开发中的实际应用。通过比较传统单体应用与微服务的优劣,揭示微服务如何助力于系统的可扩展性、灵活性和持续部署。此外,文章还将讨论微服务实施过程中的常见问题及解决方案,为后端开发者提供实践指导。
|
6天前
|
分布式计算 DataWorks NoSQL
MaxCompute产品使用合集之一张表如果想只保留近七天的数据,应该如何设置
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6天前
|
数据采集 DataWorks 定位技术
DataWorks产品使用合集之开发环境执行离线同步不立即更新数据,是什么原因
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3天前
|
SQL 关系型数据库 MySQL
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)