页面树结构

2017-11-09 ApacheCN 开源组织,第二期邀请成员活动,一起走的更远 : http://www.apachecn.org/member/209.html


MachineLearning 优酷地址 : http://i.youku.com/apachecn

转至元数据结尾
转至元数据起始

运行您的第一个 Spark 应用

运行 Spark 应用最简单的方式是通过使用 Scala 或者 Python shell。

 

  1. 启动一个 Shell 应用,运行下列的命令 : 

    Scala
    $ SPARK_HOME/bin/spark-shell
    Welcome to
          ____              __
         / __/__  ___ _____/ /__
        _\ \/ _ \/ _ `/ __/  '_/
       /___/ .__/\_,_/_/ /_/\_\   version ...
          /_/
    
    Using Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_67)
    Type in expressions to have them evaluated.
    Type :help for more information
    ...
    SQL context available as sqlContext.
    
    scala>
    Python
    $ SPARK_HOME/bin/pyspark
    Python 2.6.6 (r266:84292, Jul 23 2015, 15:22:56)
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
    Type "help", "copyright", "credits" or "license" for more information
    ...
    Welcome to
          ____              __
         / __/__  ___ _____/ /__
        _\ \/ _ \/ _ `/ __/  '_/
       /__ / .__/\_,_/_/ /_/\_\   version ...
          /_/
    
    Using Python version 2.6.6 (r266:84292, Jul 23 2015 15:22:56)
    SparkContext available as sc, HiveContext available as sqlContext.
    >>>

    在一个 CDH 的部署中,使用 package 方式安装的 SPARK_HOME 默认在 /usr/lib/spark,使用 parcel 方式安装 SPARK_HOME 默认在/opt/cloudera/parcels/CDH/lib/spark。在图个 Cloudera Manager 的部署中, shell 命令也可以从 /usr/bin 中获取。
    shell 选项 的完整列表,使用 -h 标记运行 spark-shell 或者 pyspark。

     

  2. 为了经典的 Hadoop 单词统计(word count)应用,复制一个输入的文件到 HDFS 上去 : 

    $ hdfs dfs -put input


  3. 在 shell 中,使用下面的 Code 示例运行单词统计应用,替换 namenode_host,path/to/input 和 path/to/output : 

    Scala
    scala> val myfile = sc.textFile("hdfs://namenode_host:8020/path/to/input")
    scala> val counts = myfile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_ + _)
    scala> counts.saveAsTextFile("hdfs://namenode:8020/path/to/output")
    Python
    >>> myfile = sc.textFile("hdfs://namenode_host:8020/path/to/input")
    >>> counts = myfile.flatMap(lambda line: line.split(" ")).map(lambda word: (word, 1)).reduceByKey(lambda v1,v2: v1 + v2)
    >>> counts.saveAsTextFile("hdfs://namenode:8020/path/to/output")

 

  • 无标签