第一,编程语言
我们需要一定的编程语言基础。大家可以先学习Java或Pathon。推荐大家学习Java,因为Java已经流行20多年了,并且仍在广泛使用中。
如果您有Java的基础,就可以直接步入第二阶段学习了。
第二,Linux操作系统
大数据项目最终要部署到集群运行,而集群的部署自然离不开Linux操作系统。学习阶段,我们通常会在虚拟机上进行测试,所以我们需要掌握虚拟机的安装配置。接下来就是Linux常用的操作命令了。
第三,Hadoop
这里面包括了两块内容,一个是HDFS,分布式文件系统。我们需要掌握Hadoop集群的搭建,以及HDFS API的使用。另一个就是MapReduce。MapReduce实现大数据的离线计算。我们要掌握MapReduce的编程模式及典型案例。如果我们离线计算采用Spark实现,那么这一阶段可以重点掌握HDFS。
第四,Zookeeper
Zookeeper作为一个开源的分布式服务框架,在很多地方都有它的身影。无论是在Hadoop集群的高可用,还是后面的Kafka中,Zookeeper都是比较重要的。
第五,Hive
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。它由Facebook开源,用于解决海量结构化日志的数据统计。
第六,HBase
Apache HBase是一个开源的NoSQL数据库,提供对大型数据集的实时读/写访问。
HBase线性扩展使得它能够处理具有数十亿行和数百万列的大型数据集。
第七,Kafka
Kafka是一种分布式发布-订阅消息系统,它最初由LinkedIn公司开发,之后成为Apache项目的一部分。它允许用户进行订阅并将数据发布到任意数量的系统或实时应用程序中。
第八,Scala
Scala是一种多范式的编程语言,它集成面向对象编程和函数式编程于一身。Scala运行于Java虚拟机上,可以和Java程序无缝混编,互相调用。
第九,Spark
Spark的核心部分有三块,Spark Core 、Spark SQL、Spark Streaming。Spark Core是最基础、最核心的部分,这里面有很多的算子(大家可以先理解为方法或函数)。利用这些算子,可以方便快捷地进行离线计算。Spark SQL,可以使用类sql语句处理结构化数据。Spark Streaming则用来处理实时数据。