zoukankan      html  css  js  c++  java
  • Spark学习(一) 基本操作

    先来一个简单的spark小程序,这是官网上的小样例,目的就是统计spark以下的README文档中包括字母a和字母b的个数,然后

    打印,代码例如以下:

    object BasicStandaloneApp extends App{
      val logFile = "/home/xiaoyi/software/spark/README.md" // Should be some file on your system
      val conf = new SparkConf().setAppName("Simple Application").setMaster("local")
      val sc = new SparkContext(conf)
      val logData = sc.textFile(logFile, 2).cache()
      val numAs = logData.filter(line => line.contains("a")).count()
      val numBs = logData.filter(line => line.contains("b")).count()
      println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
    }
    
    因为scala代码通常是使用sbt进行项目管理,所以我们还须要在对应的sbt文件里加入spark相依的依赖,例如以下所看到的:
    name := "learning_spark"
    
    version := "1.0"
    
    libraryDependencies += "org.apache.spark" %% "spark-core" % "1.1.0"

    这是sbt管理文件的基本格式.

    从这个样例中我们能够看出spark程序的基本结构,spark的程序须要两个主要的类,第一个是SparkConf它负责spark程序的基本配置.比方上面样例中设置master 为"local"的话,就表示程序在本地运行,另外一个很重要的类是SparkContext, spark程序的执行都是有它的实例进行启动和空值.

    对于上面的样例假设在IDE中的话我们就能够直接右键run了,效果例如以下:

    尽管这种运行比較简单,可是终究还是得放到saprk容器或者说上集群跑的,详细的也就是先将你的应用打个包,然后用spark submit提交就可以

    命令例如以下:

    spark-submit --class BasicStandaloneApp --master local target/scala-2.10/learning_spark_2.10-1.0.jar 
    

    local是spark master所在地址
    任务监控界面例如以下:

  • 相关阅读:
    CS224n笔记2 词的向量表示:word2vec
    志在必得的。。。。失败。。。
    大二第二个学期帮学姐做的毕设
    本地系统密码破解
    ubuntu12.04装有线网卡驱动(AR8162)
    数据结构递归与非递归走迷宫
    vs6.0项目升迁到vs2012中宏映射问题
    文件太大,对于目标文件系统.文件过大 无法复制问题
    第39级台阶
    linux编程
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/7239355.html
Copyright © 2011-2022 走看看