[Spark]Spark RDD 指南二 初始化

简介: 1. 初始化Spark程序必须做的第一件事是创建一个JavaSparkContext对象(Scala和Python中是SparkContext对象),它告诉Spark如何访问集群。

1. 初始化

Spark程序必须做的第一件事是创建一个JavaSparkContext对象(Scala和Python中是SparkContext对象),它告诉Spark如何访问集群。 要创建SparkContext,您首先需要构建一个包含有关应用程序信息的SparkConf对象。

Java版本:

private static String appName = "JavaWordCountDemo";
private static String master = "local";

// 初始化Spark
private static SparkConf conf = new SparkConf().setAppName(appName).setMaster(master);
private static JavaSparkContext sc = new JavaSparkContext(conf);

Scala版本:

val conf = new SparkConf().setAppName(appName).setMaster(master)
new SparkContext(conf)

备注

每个JVM只有一个SparkContext可能是活跃的。 在创建新的SparkContext之前,必须先调用stop()方法停止之前活跃的SparkContext。

Python版本:

conf = SparkConf().setAppName(appName).setMaster(master)
sc = SparkContext(conf=conf)

appName参数是应用程序在集群UI上显示的名称。 master是Spark,Mesos或YARN集群URL,或以本地模式运行的特殊字符串“local”。 实际上,当在集群上运行时,您不需要在程序中写死master,而是使用spark-submit启动应用程序并以参数传递进行接收。但是,对于本地测试和单元测试,你可以通过“local”来运行Spark进程。

2. 使用Shell

在 Spark shell 中,已经为你创建了一个专有的 SparkContext,可以通过变量sc访问。你自己创建的SparkContext 将无法工作。可以用 --master 参数来设置 SparkContext 要连接的集群,用 --jars 来设置需要添加到 classpath 中的 JAR 包,如果有多个 JAR 包使用逗号分割符连接它们。你还可以通过向--packages参数提供逗号分隔的maven坐标列表,将依赖关系(例如Spark Packages)添加到shell会话中。 可能存在依赖关系的其他存储库(例如Sonatype)可以传递给--repositories参数。例如:在一个拥有 4 核的环境上运行 bin/spark-shell,使用:

./bin/spark-shell --master local[4]

或者,还可以将code.jar添加到其classpath中,请使用:

./bin/spark-shell --master local[4] --jars code.jar

使用maven坐标来包含依赖关系:

./bin/spark-shell --master local[4] --packages "org.example:example:0.1"

可以执行 spark-shell --help 获取完整的选项列表。其背后,spark-shell调用的是更常用的spark-submit脚本(Behind the scenes, spark-shell invokes the more general spark-submit script.)。

原文:http://spark.apache.org/docs/latest/programming-guide.html#initializing-spark

目录
相关文章
|
16天前
|
分布式计算 Spark
【赵渝强老师】Spark RDD的依赖关系和任务阶段
Spark RDD之间的依赖关系分为窄依赖和宽依赖。窄依赖指父RDD的每个分区最多被一个子RDD分区使用,如map、filter操作;宽依赖则指父RDD的每个分区被多个子RDD分区使用,如分组和某些join操作。窄依赖任务可在同一阶段完成,而宽依赖因Shuffle的存在需划分不同阶段执行。借助Spark Web Console可查看任务的DAG图及阶段划分。
57 15
|
3月前
|
存储 分布式计算 并行计算
【赵渝强老师】Spark中的RDD
RDD(弹性分布式数据集)是Spark的核心数据模型,支持分布式并行计算。RDD由分区组成,每个分区由Spark Worker节点处理,具备自动容错、位置感知调度和缓存机制等特性。通过创建RDD,可以指定分区数量,并实现计算函数、依赖关系、分区器和优先位置列表等功能。视频讲解和示例代码进一步详细介绍了RDD的组成和特性。
|
4月前
|
消息中间件 分布式计算 Kafka
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
53 0
|
4月前
|
SQL 分布式计算 大数据
大数据-94 Spark 集群 SQL DataFrame & DataSet & RDD 创建与相互转换 SparkSQL
大数据-94 Spark 集群 SQL DataFrame & DataSet & RDD 创建与相互转换 SparkSQL
136 0
|
4月前
|
分布式计算 Java 大数据
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
61 0
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
|
4月前
|
SQL 分布式计算 大数据
大数据-91 Spark 集群 RDD 编程-高阶 RDD广播变量 RDD累加器 Spark程序优化
大数据-91 Spark 集群 RDD 编程-高阶 RDD广播变量 RDD累加器 Spark程序优化
71 0
|
4月前
|
缓存 分布式计算 大数据
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(一)
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(一)
96 0
|
4月前
|
分布式计算 算法 大数据
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(二)
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(二)
80 0
|
4月前
|
存储 缓存 分布式计算
大数据-89 Spark 集群 RDD 编程-高阶 编写代码、RDD依赖关系、RDD持久化/缓存
大数据-89 Spark 集群 RDD 编程-高阶 编写代码、RDD依赖关系、RDD持久化/缓存
67 4
|
4月前
|
JSON 分布式计算 大数据
大数据-85 Spark 集群 RDD创建 RDD-Action Key-Value RDD详解 RDD的文件输入输出
大数据-85 Spark 集群 RDD创建 RDD-Action Key-Value RDD详解 RDD的文件输入输出
56 1