zoukankan      html  css  js  c++  java
  • spark入门知识和job任务提交流程

    spark是Apache开源社区的一个分布式计算引擎,基于内存计算,所以速度要快于hadoop.

    下载

    1. 地址spark.apache.org

    安装

    1. 复制一台单独的虚拟机,名c

    2. 修改其ip,192.168.56.200

    3. 修改其hostname为c,hostnamectl set-hostname c

    4. 修改/etc/hosts加入对本机的解析

    5. 重启网络服务 systemctl restart network

    6. 上传spark安装文件到root目录

    7. 解压spark到/usr/local下,将其名字修改为spark

    本地运行模式

    使用spark-submit提交job

    1. cd /usr/local/spark

    2. ./bin/spark-submit --class org.apache.spark.examples.SparkPi ./examples/jars/spark-examples_2.11-2.1.0.jar 10000

    使用spark-shell进行交互式提交

    1. 创建root下的文本文件hello.txt

    2. ./bin/spark-shell

    3. 再次连接一个terminal,用jps观察进程,会看到spark-submit进程

    4. sc

    5. sc.textFile("/root/hello.txt")

    6. val lineRDD = sc.textFile("/root/hello.txt")

    7. lineRDD.foreach(println)

    8. 观察网页端情况

    9. val wordRDD = lineRDD.flatMap(line => line.split(" "))

    10. wordRDD.collect

    11. val wordCountRDD = wordRDD.map(word => (word,1))

    12. wordCountRDD.collect

    13. val resultRDD = wordCountRDD.reduceByKey((x,y)=>x+y)

    14. resultRDD.collect

    15. val orderedRDD = resultRDD.sortByKey(false)

    16. orderedRDD.collect

    17. orderedRDD.saveAsTextFile("/root/result")

    18. 观察结果

    19. 简便写法:sc.textFile("/root/hello.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).sortByKey().collect

    使用local模式访问hdfs数据

    1. start-dfs.sh

    2. spark-shell执行:sc.textFile("hdfs://192.168.56.100:9000/hello.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).sortByKey().collect (可以把ip换成master,修改/etc/hosts)

    3. sc.textFile("hdfs://192.168.56.100:9000/hello.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).sortByKey().saveAsTextFile("hdfs://192.168.56.100:9000/output1")

    spark standalone模式

    1. 在master和所有slave上解压spark

    2. 修改master上conf/slaves文件,加入slave

    3. 修改conf/spark-env.sh,export SPARK_MASTER_HOST=master

    4. 复制spark-env.sh到每一台slave

    5. cd /usr/local/spark

    6. ./sbin/start-all.sh

    7. 在c上执行:./bin/spark-shell --master spark://192.168.56.100:7077 (也可以使用配置文件)

    8. 观察http://master:8080

    spark on yarn模式

  • 相关阅读:
    Scala语言
    Eclipse的各种问题
    Java:
    Come on
    问题:实现继承的抽象方法
    Android:报错AndroidManifest.xml file missing
    正则表达式
    Android:相对布局Relativeyout中的属性解释
    Android:生命周期案例
    Android:设置APP全屏、横屏、竖屏、常亮的方法
  • 原文地址:https://www.cnblogs.com/xiaohu2011/p/7591711.html
Copyright © 2011-2022 走看看