昨天我已经安装好spark,今天进入学习阶段,首先学习spark的一些基础编程:
-
Spark 应用程序:
- Spark 应用程序由一个驱动器程序(Driver Program)和多个执行器(Executors)组成。驱动器程序负责在集群上运行主程序并创建 Spark 上下文,而执行器负责在工作节点上执行任务。
-
Spark 上下文(Spark Context):
- Spark 上下文是与 Spark 集群连接的主要入口点,负责向集群分发任务、调度任务执行以及管理资源。通过 Spark 上下文,可以创建 RDD、DataFrame 等数据结构,并进行操作和计算。
-
创建 RDD:
- 可以通过读取外部数据源(如文本文件、HDFS 文件、数据库表等)或在内存中创建数据集生成 RDD。例如,可以使用
sc.textFile()
方法创建一个文本文件对应的 RDD。
- 可以通过读取外部数据源(如文本文件、HDFS 文件、数据库表等)或在内存中创建数据集生成 RDD。例如,可以使用
-
RDD 操作:
- RDD 支持两种操作:转换操作(Transformation)和动作操作(Action)。
- 转换操作可以根据现有的 RDD 创建一个新的 RDD,例如 map、filter、reduceByKey 等。
- 动作操作触发真正的计算并返回结果,例如 count、collect、saveAsTextFile 等。
- RDD 支持两种操作:转换操作(Transformation)和动作操作(Action)。
-
共享变量:
- 在 Spark 中,有两种类型的共享变量:广播变量(Broadcast Variables)和累加器(Accumulators)。
- 广播变量用于将一个较大的只读变量有效地分发给所有工作节点。
- 累加器用于在所有工作节点上对一个变量进行添加操作的快捷方式。
- 在 Spark 中,有两种类型的共享变量:广播变量(Broadcast Variables)和累加器(Accumulators)。
-
Spark SQL:
- Spark SQL 提供了一种在 Spark 程序中使用 SQL 进行数据查询和分析的接口。可以通过
spark.sql("SELECT * FROM table")
的方式执行 SQL 查询。
- Spark SQL 提供了一种在 Spark 程序中使用 SQL 进行数据查询和分析的接口。可以通过
-
DataFrame API:
- DataFrame 是 Spark SQL 中的一种数据结构,类似于关系型数据库中的表格。DataFrame API 提供了丰富的方法用于处理和操作数据,可以直接对 DataFrame 进行操作而无需编写复杂的 MapReduce 代码。
-
Spark Streaming:
- Spark Streaming 是用于处理实时数据流的模块,可以将连续的数据流分成小批次来进行处理。通过 DStream(离散流)这一抽象概念,可以对实时数据进行高效处理和分析。