Spark学习——1.代表性大数据技术

本篇博客是学习子雨大数据之Spark入门教程的学习笔记,仅作学习之用。

1.代表性的大数据技术

  • Hadoop
  • Spark
  • Flink
  • Beam

主要计算模式如图1-1
Spark学习——1.代表性大数据技术_第1张图片

1.1 Hadoop

Hadoop的生态系统图如图1-2
Spark学习——1.代表性大数据技术_第2张图片

开源谷歌GFS,利用MapReduce分布式并行编程,MapReduceHDFS是Hadoop的两大核心。

  • HDFS 分布式文件管理系统

  • Hive 数据仓库

数据仓库,借助底层HDFS和HBase完成存储,接受用户的SQL语句,转换为MapReduce程序进行查询,避免了大量的费时处理,类似于一个接口

  • Pig 数据流处理

数据流转换,存入数据仓库中

  • Mahout 数据挖掘库

支持MapReduce,写好了算法库,专门用来解决机器学习的算法,现在已经转向Spark平台

  • Flume 日志收集

日志实时采集。

  • Sqoop 数据ETL

关系型数据库批量导出并存入非关系型数据库(HBase、HDFS)。也可以将非关系型数据库数据转换为关系型数据库数据。

  • HBase 分布式数据库

非关系型数据库,列族数据库。

  • Zookeeper 分布式协作服务

选择在服务器中选择主管家,备用管家的任务。

  • Ambari 安装、部署、配置和管理工具

可视化监视和自动化部署。

  • MapReduce 分布式计算框架

MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:Map和Reduce编程容易,不需要掌握分布式并行编程细节,也可以很容易把自己的程序运行在分布式系统上,完成海量数据的计算•MapReduce采用“分而治之”策略,一个存储在分布式文件系统中的大规模数据集,会被切分成许多独立的分片(split),这些分片可以被多个Map任务并行处理
图1-3 为MapReduce的工作流程。
第一步先进行分片,有多少个分片就有多少个Map。计算后给到Reduce合并,Reduce必须等所有Map结束才可运行。
Spark学习——1.代表性大数据技术_第3张图片

什么是数据向计算靠拢,什么是计算向数据靠拢?
举例:NLP任务,把许多词块放到不同的机器上,为了做计算,讲不同的词块拉倒同一台机器上进行处理,叫做数据向计算靠拢。代价非常大。
非常大的文件放在不同机器上,如果这台机器A速度快,把MapReduce分发代码程序到这台机器A上,靠近数据所在地方运行程序,把结果传给管家节点,进行汇总。这叫计算向数据靠拢。

MapReduce采用计算向数据靠拢,如图1-4所示。

Spark学习——1.代表性大数据技术_第4张图片

Hadoop不需要了解底层技术,所有和分布式并行编程细节,编程简单,和开发单机版本无太大区别。

  • YARN 资源调度和管理框架

为MapReduce提供资源,进行调度,类似于“管家”

YARN 为什们那么重要?
如图1-5。原来的方法造成不同集群利用不平衡。
Spark学习——1.代表性大数据技术_第5张图片

所以引入YARN,如图1-6。优点如图1-7。
Spark学习——1.代表性大数据技术_第6张图片

Spark学习——1.代表性大数据技术_第7张图片

1.2 Spark

Spark慢慢代替Hadoop中的MapReduce。Spark架构图如图1-8所示。

Spark学习——1.代表性大数据技术_第8张图片

  • Spark Core

我们通常所学习的。

  • Spark SQL

对关系型数据库进行存取。

  • Spark Streaming

进行流计算。

  • MLib

做机器学习算法。

  • GraphX

做图算法。

Spark生态系统如图1-9所示。

Spark学习——1.代表性大数据技术_第9张图片

相比于Hadoop优势:全方位软件栈,只要学习掌握Spark自身一门语言,就可以编写不同应用环境下的应用程序。
Spark可以和Hadoop进行兼容,例如Spark可以对HDFS进行存取,也可以HIVE+Spark,HBase+Spark,NoSQL+Spark。

图1-10、图1-11、图1-12和图1-13是Spark和Hadoop进行对比:
Spark学习——1.代表性大数据技术_第10张图片

1.机器学习算法是一个不断迭代的过程,对于磁盘的IO性能消耗非常大。没法在MapReduce实现。
2.耗时过长,Reduce需要在所有Map都结束后才能运行。
Spark学习——1.代表性大数据技术_第11张图片

Spark学习——1.代表性大数据技术_第12张图片

Spark学习——1.代表性大数据技术_第13张图片

1.3 Flink

Spark学习——1.代表性大数据技术_第14张图片

Flink和Spark的对比如图1-15、图1-16、图1-17所示。
Spark学习——1.代表性大数据技术_第15张图片

Spark学习——1.代表性大数据技术_第16张图片

Spark学习——1.代表性大数据技术_第17张图片

Flink略晚于Spark面世,所以用的并没有Spark广泛。

1.4 Beam

谷歌开发的集大成的大数据平台。

你可能感兴趣的:(Spark,Spark,大数据学习)