• Spark学习笔记-如何运行wordcount(使用jar包)


    IDE:eclipse

    Spark:spark-1.1.0-bin-hadoop2.4

    scala:2.10.4

    创建scala工程,编写wordcount程序如下

    package com.luogankun.spark.base
    
    import org.apache.spark.SparkConf
    import org.apache.spark.SparkContext
    import org.apache.spark.SparkContext._
    
    /**
     * 统计字符出现次数
     */
    object WorkCount {
      def main(args: Array[String]) {
      if (args.length < 1) {
        System.err.println("Usage: <file>")
        System.exit(1)
      }
      val conf = new SparkConf()
      val sc = new SparkContext(conf)
      //SparkContext 是把代码提交到集群或者本地的通道,我们编写 Spark代码,无论是要运行本地还是集群都必须有 SparkContext 的实例。
      val line = sc.textFile(args(0))
      //把读取的内容保存给line变量,其实line是一个MappedRDD,Spark的代码,都是基于RDD操作的;
      line.flatMap(_.split("")).map((_, 1)).reduceByKey(_+_).collect.foreach(println)
      
      sc.stop
      }
    }

    右击工程->export,生成jar包 名称spark.jar,路径/usr/local/myjar/spark.jar

    启动spark集群,自己写一个hadoop.txt,上传hadoop.txt到集群的/user/hadoop/文件夹之下

    HDFS的操作见此文http://www.cnblogs.com/gnivor/p/4089948.html

    写一个脚本,用来执行这个程序

    存放路径:/usr/local/myjar/WordCount.sh

    #!/bin/bash
    
    cd $SPARK_HOME/bin
    spark-submit 
    --master spark://master:7077 
    --class com.luogankun.spark.base.WorkCount 
    --name wordcount 
    --executor-memory 400M 
    --driver-memory 512M 
    /usr/local/myjar/spark.jar 
    hdfs://master:9000/user/hadoop/hadoop.txt


    执行脚本

    进入脚本所在路径:/usr/local/myjar,执行脚本:./WordCount.sh

    一段时间后可见结果。

  • 相关阅读:
    linux 网络编程
    linux之有名管道
    linux之无名管道
    linux进程
    Linux中的内核链表
    dell戴尔服务器配置RAID5(3块硬盘做RAID5+1块热备)(转发)
    盘点SQL on Hadoop中用到的主要技术
    垃圾回收算法
    JDK 中的监控与故障处理工具-05 (jstack)
    JDK 中的监控与故障处理工具-04 (jmap)
  • 原文地址:https://www.cnblogs.com/gnivor/p/4086029.html
Copyright © 2020-2023  润新知