zoukankan      html  css  js  c++  java
  • spark代码的提交

    第一种 spark-shell ,根据官网的example 统计词频:

      第一步: shell中新建一个脚本:  vi wordCount.sh ;

      第二步: 编写脚本:

    spark-shell 
    --master local[2]
    --jars /home/hadoop/software/mysql-connector-java-5.1.27-bin.jar

    几点注意 :

          第一,spark集群下core和momery都需要分配和释放,因此,调试程序时,建议master 用 local模式 ,2个线程,4个线程,看心情指定;

          第二,如果需要查询hive表中的数据,而hive的元数据是存在mysql中的,那么就需要引用mysql的jar包: mysql-connector-java-5.1.27-bin.jar(5.1.27是自己安装的mysql的版本);

      第三步:在spark的shell中输入scala代码:

    val file = spark.sparkContext.textFile("file:///home/hadoop/data/wc.txt")
    val wordCounts = file.flatMap(line => line.split(",")).map((word => (word, 1))).reduceByKey(_ + _)
    wordCounts.collect
    

     至此,可以喝杯咖啡,欣赏统计结果了。

    第二种 spark-submit 

    第一步: 在idea中新建maven项目,创建scala class (object ),编写代码:

    package com.imooc.spark
    
    import  org.apache.spark.sql.SQLContext
    import  org.apache.spark.{SparkContext,SparkConf}
    
    /*
    * 新建一个sqlContext
    * 当前idea是在本地,测试数据是在服务器上的
    * path = "/home/hadoop/app/spark-2.1.0-bin-2.6.0-cdh5.7.0/examples/src/main/resources/people.txt"
    * 本地参数 C:sparkmooc-app-spark-2.11.8-srcmain
    esourcespeople.json
    * vm options: -Dspark.master=SqlContextTestApp -Dspark.master=spark://172.16.170.153:7077
    *
    * */
    object SqlContextTestApp {
      def main(args: Array[String])  = {
        val path = args(0)
    
        //1) 创建一个context类
        val sparkConf = new SparkConf()
        //在测试和生产环境中 appName和masterName通过脚本指定 //.setMaster("spark://172.16.170.153:7077")   // a master url "local[2]"
        sparkConf.setAppName("SQLContextApp").setMaster("local[2]")
        val sc = new SparkContext(sparkConf)
        val sqlcontext = new SQLContext(sc)
    
        //2) 相关处理
        val people = sqlcontext.read.format("json").load(path)
        people.printSchema()
        people.show()
    
        //3) 关闭资源
        sc.stop()
      }
      
    }

      第二步 本地配置args参数后,运行,可以看到json数据在本地的运行结果如下:

        第三步 将target下的jar包 sql-1.0.jar 上传到集群;

        第四步 服务器上新建脚本 sqlContext.sh: 

    spark-submit 
    --class com.imooc.spark.SQLContextApp 
    --master local[2] 
    /home/hadoop/lib/sql-1.0.jar 
    /home/hadoop/app/spark-2.1.0-bin-2.6.0-cdh5.7.0/examples/src/main/resources/people.json 

    喝杯咖啡,欣赏服务器上的运行结果:

  • 相关阅读:
    Nginx虚拟主机配置实例(Nginx VirtualHost Example)
    考研机试 33.密码翻译
    考研机试 26.10进制 VS 2进制
    考研机试 25.剩下的树
    input默认值设置
    http 304优化,了解客户端缓存
    (转)8款在线CSS优化工具/组织和压缩CSS
    照片从模糊到清晰的渐变加载显示方法
    JS压缩工具Closure Compiler 和 YUICompressor的对比
    【转】高性能web开发 如何加载JS,JS应该放在什么位置?
  • 原文地址:https://www.cnblogs.com/camelroyu/p/7839615.html
Copyright © 2011-2022 走看看