美文网首页互联网科技spark
Spark 1. 概述,连接Spark, 初始化,一些命令参数

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

作者: 希尔大 | 来源:发表于2016-11-23 16:31 被阅读899次

    概述

    原文地址: 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 中使用

    Scala

    在 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 !!

    相关文章

      网友评论

        本文标题:Spark 1. 概述,连接Spark, 初始化,一些命令参数

        本文链接:https://www.haomeiwen.com/subject/ousvpttx.html