1.spark在集群上运行应用的详细过程
import scala.Tuple2; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaPairRDD; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.api.java.function.FlatMapFunction; import org.apache.spark.api.java.function.Function2; import org.apache.spark.api.java.function.PairFunction; 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 { SparkConf sparkConf = new SparkConf().setAppName("JavaWordCount");//关键是没有指定master,需要提交到集群上运行 JavaSparkContext ctx = new JavaSparkContext(sparkConf); JavaRDD<String> lines = ctx.textFile("C:\\test.txt", 1); JavaRDD<String> words = lines.flatMap(new FlatMapFunction<String, String>() { public Iterable<String> call(String s) { return Arrays.asList(SPACE.split(s)); } }); JavaPairRDD<String, Integer> ones = words.mapToPair(new PairFunction<String, String, Integer>() { public Tuple2<String, Integer> call(String s) { return new Tuple2<String, Integer>(s, 1); } }); JavaPairRDD<String, Integer> counts = ones.reduceByKey(new Function2<Integer, Integer, Integer>() { public Integer call(Integer i1, Integer i2) { return i1 + i2; } }); List<Tuple2<String, Integer>> output = counts.collect(); for (Tuple2<?,?> tuple : output) { System.out.println(tuple._1() + ": " + tuple._2()); } ctx.stop(); } }
标记 | 描述 |
--master | 表示要连接的集群管理器 |
--deploy-mode | 选择在本地启动驱动器程序,还是在集群中的一台工作节点机器上启动。在客户端模式下,spark-submit会将驱动器程序运行在spark-submit被调用的这台机器上。在集群模式下,驱动器程序会被传输并被执行于集群的一个工作节点上,默认是本地模式。 |
--class | 运行Java或者Scala程序应用的主类 |
--name | 应用的显示名,会显示在spark的网页用户界面中 |
--jars | 需要上传并放在应用的CLASSPATH中的JAR包的雷彪。如果应用依赖于少量第三方的jar包,可以把它们放在这个参数中 |
--files | 需要放在应用工作目录中的文件雷彪。这个参数一般用来放需要分发到各节点的数据文件 |
--py-files | 需添加到PYTHONPATH中的文件的雷彪。其中可以包含.py /.egg以及.zip文件 |
--executor-memory | 执行器进程使用的内存量,以字节为单位,可以使用后缀指定更大的单位,比如512M或者15g |
--driver-memory | 驱动器进程使用的内存量,以字节为单位。可以使用后缀指定更大的单位,比如512m或者15g |
原文:http://www.cnblogs.com/zhoudayang/p/5008043.html