Spark PG1. 概述,连接Spark, 初始化,一些命令参数

概述

原文地址: http://spark.apache.org/docs/latest/programming-guide.html
仅限交流使用,转载请注明出处。如有错误,欢迎指正!!

Henvealf/译

RDD 可以通过使用 Hadoop 文件系统中的文件或者设备程序中的 Scala 集合来创建和转换成。用户也可以让 Spark 将 RDD 吃就好在内存中,允许并行操作高效的对其重复利用。最后,RDDs 会从失败的节点中自动回复。

Spark 第二个抽象概念就是共享变量(shared variables),他能够被使用在并行操作中。默认情况下,当 Spark 在许多不用的节点上并行的运行一些 task,他就会将每个 task 用到的操作将每个变量拷贝到每个 task 中去使用。有时候,一个变量需要在task或者设备程序之间共享。Spark 提供了两种类型的共享变量:

  • broadcast variables / 广播变量 : 他能够用于将一个值缓存在所有的节点的内存中。

  • accumulators / 累加器 : 比如 counters 个 sums ,一个只能进行加操作的变量。

连接到 Spark

Java 代码。

在 Maven 中,需要添加下面的依赖来引入 Spark:

groupId = org.apache.spark
artifactId = spark-core_2.11
version = 2.0.2

当然,如果你想要在 HDFS 中进行存取,你需要添加 Hadoop 依赖

groupId = org.apache.hadoop
artifactId = hadoop-client
version = <your-hdfs-version>

最后,你需要在你的程序中导入几个 Spark 类:

import org.apache.spark.api.java.JavaSparkContext
import org.apache.spark.api.java.JavaRDD
import org.apache.spark.SparkConf

Scala

import org.apache.spark.SparkContext
import org.apache.spark.SparkConf

初始化 Spark

Java

第一件事情就是创建一个 JavaSparkContext 对象,来告诉 Spark 怎样存取一个集群。 为了创建一个 SparkContext, 你要做的第一件事就是构建一个包含了你的应用的信息的 SparkConf 对象。

SparkConf conf = new SparkConf().setAppName(appName).setMaster(master);
JavaSparkContext sc = new JavaSparkContext(conf);

appName 就是你的应用展示在集群UI上的名字。 master 是一个 Spark, Mesos 或者 YARN 集群的 URL,或者指定 “local” 字符串来表明你是运行在本地模式下。我们一般不会将 master 写死,而是在使用 spark-submit 运行的时候来将他传入应用中。在本地模式或者单元测试中,你就可以使用 “local”。

Scala

和 Java 中类似,第一件事,是就是创建一个 SparkContext 对象。

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

在 Shell 中使用

Scale

在 Spark 中,SparkContext 总是内建的为你建好了,Scala 命令行中就是变量 sc。你自己创建 SparkContext 是无用的。下面有几个运行参数:

  • –master 参数来指定你的 Spark 连接到哪里。

    $ ./bin/spark-shell --master local[4]
  • –jars 添加jar包到你的 classpath 中。

    $ ./bin/spark-shell --master local[4] --jars code.jar
  • –package 向 Shell 回话中添加 maven 依赖。用逗号分割:

    $ ./bin/spark-shell --master local[4] --packages "org.example:example:0.1"
  • –repositories 添加库

可以使用 spark-shell –help 来查看更多信息。

End !!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值