学大数据需要学哪些内容?大数据主流技术栈简介

被广泛关注的大数据,这几年在国内的发展,可以说是进入了比较平稳的一个时期,基本上企业对于技术开发人员的要求,都开始与大数据接轨。那么学大数据需要学哪些内容,今天我们从大数据主流技术栈开始,为大家做个简单介绍。

大数据发展速度很快,对技术的需求也在不断更新迭代,从第一代的Hadoop为王,到现在的Hadoop、Spark、Storm、Flink百花齐放,一方面是因为需求的变化,另一方面也是技术生态在不断拓展和完善。

学大数据需要学哪些内容?从就业的角度来考量,那么自然是市场要求什么,就学什么。市场主流的大数据技术栈包括——

数据收集层

主要由关系型和非关系型数据收集组件,分布式消息队列构成。

Sqoop/Canal:关系型数据收集和导入工具。

Flume:非关系型数据收集工具,主要是流式日志数据。

Kafka:分布式消息队列,一般作为数据总线使用。

数据存储层

主要由分布式文件系统(面向文件存储)和分布式数据库(面向行/列的存储)构成。

HDFS:Hadoop分布式文件系统。

Hbase:构建在HDFS之上的分布式数据库。

Kudu:介于HDFS和HBase之间的基于列式存储的分布式数据库。

资源管理与服务协调层

YARN:统一资源管理与调度系统,管理集群中的各种资源。

ZooKeeper:基于简化的Paxos协议实现的服务协调系统。

Mesos:类似于Yarn,也是一个分布式资源管理平台。

计算引擎层

主要包括批处理(时间要求低,高吞吐)、交互式处理(时间要求比较高,SQL查询)、流式实时处理(时间要求非常高)三种引擎。

MapReduce:经典的批处理计算引擎,具体良好的扩展性与容错性。

Spark:通用的DAG计算引擎,允许用户充分利用内存进行快速的数据挖掘和分析。

Impala/Presto:开源的MPP系统,允许用户使用标准的SQL处理存储在Hadoop中的数据。

Storm/Spark Streaming:分布式流式实时计算引擎,能够高效的处理流式数据。

Flink:分布式的大数据处理引擎,可以对有限数据流和无线数据流进行有状态的计算。

数据分析层

主要为方便用户解决大数据问题而提供的各种数据分析工具。

Hive/Pig/SparkSQL:在计算引擎之上构建的支撑SQL或者脚本语言的分析系统,大大降低了用户进行大数据分析的门槛。

Mahout/MLib:在计算引擎上构建的机器学习库,实现常用的机器学习和数据挖掘算法。

Apache Beam/Cascading:基于各类计算框架而封装的高级API,方便构建复杂的流水线。

关于学大数据需要学哪些内容,大数据主流技术栈,以上就为大家做了一个简单的介绍了。大数据在快速发展当中,主流技术栈也在不断更新迭代,作为技术开发人员,也需要保持学习能力,随时跟上技术趋势。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注