spark scala hadoop cluster Maven

update in jianshu :

Maven

package to a .jar

maven clean package

When Maven lack of package, install

(red line on Intellij)

mvn install

dependencies are all in ~/.m2/repository/org/

After package .jar, then run it

.jar is in dir target.

MacBook-Pro:~/Desktop/catalog2/catalog3/catalog4/target$     ll
-rw-r--r--  1 user  group  2107973  7 26 18:58 data-mgr-1.0.0-SNAPSHOT.jar

Locally Run

Add setMaster("local"),本程序需要输入参数(需要统计单词的文件,我从hdfs中读文件)

import java.util.Arrays;  
import java.util.List;  
import java.util.regex.Pattern;  
  
public final class WordCount {  
  private static final Pattern SPACE = Pattern.compile(" ");  
  
  public static void main(String[] args) throws Exception {  
  
    if (args.length < 1) {  
      System.err.println("Usage: JavaWordCount ");  
      System.exit(1);  
    }  
  
    SparkConf sparkConf = new SparkConf().setAppName("WordCount").setMaster("local");  
    JavaSparkContext ctx = new JavaSparkContext(sparkConf);  
    JavaRDD lines = ctx.textFile(args[0], 1);  
  
    JavaRDD words = lines.flatMap(new FlatMapFunction() {  
        
      public Iterable call(String s) {  
        return Arrays.asList(SPACE.split(s));  
      }  
    });  
  
    JavaPairRDD ones = words.mapToPair(new PairFunction() {  
       
      public Tuple2 call(String s) {  
        return new Tuple2(s, 1);  
      }  
    });  
  
    JavaPairRDD counts = ones.reduceByKey(new Function2() {  
   
      public Integer call(Integer i1, Integer i2) {  
        return i1 + i2;  
      }  
    });  
  
    //counts.saveAsTextFile(args[1]);  
  
      
    List> output = counts.collect();  
      
    for (Tuple2 tuple : output) {  
      System.out.println(tuple._1() + ": " + tuple._2());  
        
    }  
    ctx.stop();  
  }  
}  

Submit

spark-submit --class spark应用的main函数所在类的全类名 --master yarn-cluster jar包路径及jar包 参数

ps:Maven commend

这里主要是在eclipse中使用maven,因此只使用到了一部分命令,整理下来方便以后查阅。

生成清除Eclipse项目结构:
mvn eclipse:eclipse
mvn eclipse:clean

清理(删除target目录下编译内容)
mvn clean

仅打包Web页面文件
mvn war:exploded

编译项目
mvn compile

打包发布
mvn package

打包时跳过测试
mvn package -Dmaven.test.skip=ture

还有很多命令目前还没有使用到,以后遇到再补充
Maven用了很久了,命令一直记不住,其实想想就那个几个常用的,今天写下来,帮着记忆吧

创建一个简单的Java工程:mvn archetype:create -DgroupId=com.mycompany.example -DartifactId=Example
创 建一个java的web工程:mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.mycompany.app -DartifactId=my-webapp
打包:mvn package
编译:mvn compile
编译测试程序:mvn test-compile
清空:mvn clean
运行测试:mvn test
生成站点目录: mvn site
生成站点目录并发布:mvn site-deploy
安装当前工程的输出文件到本地仓库: mvn install
安 装指定文件到本地仓库:mvn install:install-file -DgroupId= -DartifactId= -Dversion=1.0.0 -Dpackaging=jar -Dfile=
查看实际pom信息: mvn help:effective-pom
分析项目的依赖信息:mvn dependency:analyze 或 mvn dependency:tree
跳过测试运行maven任务: mvn -Dmaven.test.skip=true XXX
生成eclipse项目文件: mvn eclipse:eclipse
查看帮助信息:mvn help:help 或 mvn help:help -Ddetail=true
查看插件的帮助信息:mvn :help,比如:mvn dependency:help 或 mvn ant:help 等等。
常用命令

  1. 创建Maven的普通java项目:
    mvn archetype:create
    -DgroupId=packageName
    -DartifactId=projectName
  2. 创建Maven的Web项目:
    mvn archetype:create
    -DgroupId=packageName
    -DartifactId=webappName
    -DarchetypeArtifactId=maven-archetype-webapp
  3. 编译源代码: mvn compile
  4. 编译测试代码:mvn test-compile
  5. 运行测试:mvn test
  6. 产生site:mvn site
  7. 打包:mvn package
  8. 在本地Repository中安装jar:mvn install
  9. 清除产生的项目:mvn clean
  10. 生成eclipse项目:mvn eclipse:eclipse
  11. 生成idea项目:mvn idea:idea
  12. 组合使用goal命令,如只打包不测试:mvn -Dtest package
  13. 编译测试的内容:mvn test-compile
  14. 只打jar包: mvn jar:jar
  15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile
    ( -skipping 的灵活运用,当然也可以用于其他组合命令)
  16. 清除eclipse的一些系统设置:mvn eclipse:clean

source:
http://www.cnblogs.com/lexus/archive/2012/01/26/2329544.html

source:
https://www.jianshu.com/p/d06be68cf4e3
http://www.cnblogs.com/jun1019/p/6346870.html
https://blog.csdn.net/hualizhuanshen2014/article/details/50850894
http://www.cnblogs.com/lexus/archive/2012/01/26/2329544.html

你可能感兴趣的:(spark scala hadoop cluster Maven)