spark本地模式

来源:互联网 发布:java程序员面试一年 编辑:程序博客网 时间:2024/06/04 18:58



spark-shell

还可带参数,设置开启几个线程

spark-shell --master local[3]

设置开启3个线程去跑任务


spark调度






repartition(1)设置reduce的个数,这里设置为1


spark读取hdfs上的文件:wuke01为namenode所在机器名。

sc.textFile("hdfs://wuke01:9000/input/wuke.txt").flatMap(_.split(",")).map((_,1)).collect




var rdd1=sc.parallelize(Array(("one",1),("two",2),("three",3),("four",4)))

var rdd2=sc.parallelize(Array(("five",5),("six",6)))

(rdd1 union rdd2).repartition(1).saveAsTextFile("hdfs://wuke01:9000/tmp")


创建RDD 

https://www.iteblog.com/archives/1512


RDD血统



.cache虚拟化  (针对宽依赖的处理)


Spark standalone模式安装
   配置:spark-env.sh (conf目录下)
        export JAVA_HOME= /usr/java/jdk1.7.0_67-cloudera/   
        export SPARK_MASTER_IP= 127.0.0.1   (指定主节点)
        export SPARK_WORKER_CORES=6      (配置worker节点的cpu核数)
        export SPARK_WORKER_INSTANCES=2    (启动多少个worker,一台从节点机器可以有多个WORKER,一个worker启动一个JVM)
        export SPARK_WORKER_MEMORY=10g    (每个worker占多少内存)
        export SPARK_MASTER_PORT= 7076 (spark URL端口,如spark://crxy172:7076)
        export SPARK_JAVA_OPTS="-verbose:gc -XX:-PrintGCDetails -XX:+PrintGCTimeStamps” (用来设置GC参数)
       注意:SPARK_WORKER_CORES * SPARK_WORKER_INSTANCES= 每台机器总cores
    slaves  (conf目录下)
xx.xx.xx.1    //从节点机器ip,可以写hostname
xx.xx.xx.2
   spark-shell指定URL地址 
MASTER=spark://crxy172:7077  ./spark-shell

Spark standalone模式安装
   Spark 1.0相关变动:
    spark-defaults.conf 默认参数:
             spark.master  spark://server1:8888
spark.local.dir 本地目录  /data/tmp_spark_dir/  (新增)
spark.executor.memory 10g
SPARK_JAVA_OPTS    不建议在使用(用来设置GC参数)
             SPARK_SUBMIT_OPTS  作为替代者
SPARK_MEM  已被弃⽤
 
    任务提交:
    ./bin/spark-submit –class cn.crxy.standalone  xxx.jar  inputdir outdir


提交任务

用maven将项目打包成jar包后,拷贝到服务器上,用spark-submit提交任务spark-submit --class main函数所在的类全路径名  jar包所在位置    后面就是输入的参数(比如输入路径 输出路径)

spark-submit --class com.xxx.mainClass  xxx.jar hdfs://xxx/input/word.txt hdfs://xxx/output

0 0