Spark学习笔记(一)

我想写写我目前阶段学习Spark的基本目标和进阶目标。基本目标:

  1. 搭建Spark集群
  2. 编写Spark应用程序(熟悉Spark接口,Java、Python、Scala、SQL)
  3. 掌握分析需要并行处理的问题的分析框架并利用Sprk解决
  4. 了解Spark应用的案例(Spark Streaming、机器学习、数据分析MLlib、GraphX、SparkR)

进阶目标:

  1. 研读Spark的源码(Spark核心中的分布式、批处理、流处理、懒执行等实现)
  2. 分析Spark核心的架构如何支撑并演变出的生态圈
  3. 其他(Spark + Hadoop、

笔记不做无脑搬运,一个一个字打上去,理解后用自己的语言表达。概念定义沿用以保证准确,笔记的目的是整理出条理性的步骤、可背诵的要点。


实验部分:(一)Spark环境搭建

Spark 2.3.2环境搭建参考官方文档说明即可.

要点:

  • Spark runs on Java 8+, Python 2.7+/3.4+ and R 3.1+. For the Scala API, Spark 2.3.2 uses Scala 2.11.
  • Note that support for Java 7, Python 2.6 and old Hadoop versions before 2.6.5 were removed as of Spark 2.2.0. Support for Scala 2.10 was removed as of 2.3.0.

知识要点(一)

1.Spark的组成

Spark的组件:Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX、集群管理器。

Spark组件

2. 什么是Spark核心?

Spark核心是一个对由很多计算任务组成的、运行在多个工作机器或者是一个计算集群上的应用进行调度、分发以及监控的计算引擎

3. Spark API中的核心类(Dataset、DataFrame、Encoder、SparkSession、)

Dataset是强大的已定义格式的特定领域的对象,可以通过功能性和相关性操作并行传输。DataFrame是Dataset的列。DataSet上的操作分为两类:transformation和action。

Transformations are the ones that produce new Datasets, and actions are the ones that trigger computation and return results.Datasets are “lazy”, i.e. computations are only triggered when an action is invoked.

  • 典型的transformation有:map、filter、select、aggregate(groupBy)
  • 典型的action有:count、show、writing data out to file systems.

4. Spark API中的重要函数

explain、schema、read、

5. flatMap和map的区别

6. 对Scala函数式编程的理解

发布者

jahentao

坚定信念,创造工具

发表评论

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据