网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
从这一系列事情发展看技术规律:Google业务实践中创造性的提出论文作为基础,业务的成长和需求,迫使技术不断更新换代。所以业务是技术不断发展的关键。
二、Hadoop框架
1、Hadoop简介
注意这里基于Hadoop2.X版本描述。后续如果没有特别说明,都是2.7版本。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构;
提供海量的数据存储能力,和分析计算能力;
作为Apache的顶级项目,包含众多子项目是一个生态圈;
2、框架特点
可靠性:Hadoop按位存储和存储多个数据副本,提供可靠服务;
扩展性:Hadoop利用计算机集群分配数据并完成计算任务,可以方便地扩展到数以千计的节点中;
高效性:基于MapReduce思想,为海量的数据提供高效的并行计算;
容错性:自动保存数据的多个副本,并且能够自动将失败的任务重新分配;
3、组成结构
HDFS存储
- NameNode
存储文件相关的元数据,例如:文件名,文件目录,创建时间,权限副本数等。
- DataNode
文件系统存储文件块数据,以及和数据块ID的映射关系。
Yarn调度
负责资源管理和作业调度,将系统资源分配给在Hadoop集群中运行的各种应用程序,并调度要在不同集群节点上执行的任务。
MapReduce计算
MapReduce将计算过程分为两个阶段:Map阶段并行处理输入数据,Reduce阶段对Map结果进行汇总。
三、大数据技术栈
1、Kafka中间件
开源组织: Apache软件
应用场景:
Kafka是一种高吞吐量的分布式发布订阅消息系统,通过磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。支持通过Kafka服务器和消费机集群来分区消息。支持Hadoop并行数据加载。
2、Flume日志系统
开源组织: Cloudera公司
应用场景:
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
3、Sqoop同步工具
开源组织: Apache软件
应用场景:
Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库例如:MySql间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
4、HBase数据库
开源组织: Apache软件
应用场景:
HBase是一个分布式的、面向列的开源数据库,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库,并且基于列的而不是基于行的存储模式。
5、Storm实时计算
开源组织: Apache软件
应用场景:
Storm用于实时计算,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。Storm相对简单,可以与任何编程语言一起使用。
6、Spark计算引擎
开源组织: Apache软件
应用场景:
Spark是专为大规模数据处理而设计的快速通用的计算引擎,拥有Hadoop的MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。Spark是在Scala 语言中实现的,它将Scala用作其应用程序框架。
7、R语言
开源组织: 微软公司
应用场景:
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Rg2-1714902807340)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!