简介
人类正在从IT时代走向DT(Data Technology)的时代。以互联网、云计算、大数据和人工智能为代表的技术革命正在渗透至各行各业,改变着我们的生活。
本文主要针对从事大数据开发的程序员们整理了整套的大数据学习相关的路线图和知识材料,希望能帮助到大家。
互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口。为帮助那些往想互联网方向转行想学习,却因为时间不够,资源不足而放弃的人。我自己整理的一份最新的大数据进阶资料和高级开发教程,大数据学习群:199加上【427】最后加上210就可以找到组织学习 欢迎进阶中和进想深入大数据的小伙伴加入。
大数据相关技术
· MapReduce
本来自于谷歌一款名为MapReduce的编程模型包,通过把一个应用程序分解为许多并行计算指令,跨大量的计算节点运行非常巨大的数据集
· HDFS
一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。
· Yarn
一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处
· Hive
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
· Hbase
HBase是一个分布式的、面向列的开源数据库,也是NoSql数据库的一种。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据的基于列模式存储的数据库。
· Kafka
一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,常作为一个中间缓冲层。
· Flume
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力,常与Kafka结合使用。
· ElasticSearch
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
· Storm
Storm为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时处理消息并更新数据库。这是管理队列及工作者集群的另一种方式。Storm也可被用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。
· Spark
专为大规模数据处理而设计的快速通用的计算引擎。Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
· Zookeeper
一个分布式的应用程序协调服务,是HDFS和Hbase等服务的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
Hadoop生态圈相关技术
这里只罗列出了主要的一些技术,更多相关的知识在教程中会进行学习
学习路线图