部分文章内容为公开资料查询整理,原文出处可能未标注,如有侵权,请联系我,谢谢。邮箱地址:gnivor@163.com ►►►需要气球么?请点击我吧!

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

 

一段时间后可见结果。

posted @ 2014-11-09 22:07  流了个火  阅读(2871)  评论(0编辑  收藏  举报
►►►需要气球么?请点击我吧!►►►
View My Stats