Spark-学习日志-20181221

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_1018944104/article/details/85167759

目录

1、Spark的特点

2、Spark 支持的几种部署方案

3、Spark的应用场景

4、Spark集群安装

5、Spark高可用集群

6、配置Spark HistoryServer

7、Spark的基本使用

8、修改Spark的日志级别

9、Spark 的 WordCount


1、Spark的特点

1、快速高效

Spark 允许将中间输出和结果存储在内存中,节省了大量的磁盘 IO。

2、间接易用

Spark 现在支持 Java、Scala、Python 和 R 等编程语言编写应用程序,大大降低了使用者的门槛。

3、全栈式数据处理

支持批处理(Spark Core)

支持交互式查询(Spark SQL)

支持流式计算(Spark Streaming)

支持机器学习(Spark MLlib)

支持图计算(Spark GraghX)

支持 Python 操作--PySpark

支持 R 语言--SparkR

4、兼容

可用性高

丰富的数据源支持

2、Spark 支持的几种部署方案

Mesos:Spark 可以运行在 Mesos 里面(Mesos 类似于 YARN 的一个资源调度框架)

Standalone:Spark 自己可以给自己分配资源(Master,Worker)

YARN:Spark 可以运行在 Hadoop 的 YARN 上面

Kubernetes:Spark 接收 Kubernetes 的资源调度

3、Spark的应用场景

目前大数据处理场景有以下几个类型:
1、复杂的批量处理(Batch Data Processing),偏重点在于处理海量数据的能力,至于处理速度可忍受,通常的时间可能是在数十分钟到数小时;
2、基于历史数据的交互式查询(Interactive Query),通常的时间在数十秒到数十分钟之间
3、基于实时数据流的数据处理(Streaming Data Processing),通常在数百毫秒到数秒之间

 Spark 场景有以下几个:
1、Spark 是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合。需要反复操作的次数越多,所需读取的数据量越大,受益越大,数据量小但是计算密集度较大场合,受益就相对较小。
2、由于 RDD 的特性,Spark 不适用那种异步细粒度更新状态的应用,例如 web 服务的存储或者是增量的 web 爬虫和索引。就是对于那种增量修改的应用模型不适合。
3、数据量不是特别大,但是要求实时统计分析需求。

典型行业应用场景:
1、Yahoo 将 Spark 用在 Audience Expansion 中的应用,进行点击预测和即席查询
2、淘宝技术团队使用了 Spark 来解决多次迭代的机器学习算法、高计算复杂度的算法等。应用于内容推荐、社区发现
3、腾讯大数据精准推荐借助 Spark 快速迭代的优势,实现了在“数据实时采集、算法实时训练、系统实时预测”的全流程实时并行高维算法,最终成功应用于广点通 PCTR 投放系统上。
4、优酷土豆将 Spark 应用于视频推荐(图计算)、广告业务,主要实现机器学习、图计算等迭代计算。

4、Spark集群安装

安装步骤:

1、版本选择

三大主要版本:
Spark-0.X
Spark-1.X(主要 Spark-1.3 和 Spark-1.6)
Spark-2.X(最新 Spark-2.3)

选择的版本:spark-2.3.0-bin-hadoop2.7.tgz

2、集群规划

Server Master Worker
hadoop01  
hadoop02
hadoop03  

3、依赖准备

Spark-2.3 需要依赖:Java 8+ 和 Python 2.7+/3.4+ 和 Scala 2.11 和 R 3.1+

4、集群安装

https://blog.csdn.net/qq_1018944104/article/details/85169171

5、Spark高可用集群

1、集群规划

Server Master Worker
hadoop01  
hadoop02
hadoop03

2、具体步骤

https://blog.csdn.net/qq_1018944104/article/details/85169850

6、配置Spark HistoryServer

1、Spark HistoryServer 有什么作用?

通过相应的配置(打开开关),Spark应用程序在运行完应用程序之后,将应用程序的运行信息写入指定目录(指定日志记录的目录),而Spark history server可以将这些运行信息装载并以web的方式供用户浏览(展示)。 

2、详细步骤

https://blog.csdn.net/qq_1018944104/article/details/85170496

7、Spark的基本使用

1、执行第一个Spark程序

2、启动Spark Shell

3、在Spark Shell中编写WordCount程序

4、在IDEA中编写WordCount程序

8、修改Spark的日志级别

1、临时修改(一般不用)

2、永久修改

第一步:先进入 conf 目录
[hadoop@hadoop05 conf]$ cd $SPARK_HOME/conf

第二步:准备 log4j.properties
[hadoop@hadoop05 conf]$ cp log4j.properties.template log4j.properties

第三步:配置日志级别
把 INFO 改成你想要的级别:主要有 ERROR, WARN, INFO, DEBUG 几种

9、Spark 的 WordCount

1、Scala 版本的 WordCount

2、Java7 版本的 WordCount 

3、Java8 Lambda 表达式版本的 WordCount

猜你喜欢

转载自blog.csdn.net/qq_1018944104/article/details/85167759