zoukankan      html  css  js  c++  java
  • Spark学习之Spark shell 与 Spark-submit

    入门

    第一个应用的运行

    1. 进入 Spark 安装目录中

      cd /export/servers/spark/
      
    2. 运行 Spark 示例任务

      bin/spark-submit 
      --class org.apache.spark.examples.SparkPi 
      --master spark://node01:7077,node02:7077,node03:7077 
      --executor-memory 1G 
      --total-executor-cores 2 
      /export/servers/spark/examples/jars/spark-examples_2.11-2.2.3.jar 
      100
      
    3. 运行结果

      Pi is roughly 3.141550671141551
      

    编写 Spark 程序

    Spark shell

    • Spark shell 是 Spark 提供的一个基于 Scala 语言的交互式解释器, 类似于 Scala 提供的交互式解释器, Spark shell 也可以直接在 Shell 中编写代码执行

    • 启动 Spark shell

      • 进入到spark安装目录spark-shell --master master 就可以提交Spark 任务

      • master配置

        地址 解释
        local[N] 使用 N 条 Worker 线程在本地运行
        spark://host:port 在 Spark standalone 中运行, 指定 Spark 集群的 Master 地址, 端口默认为 7077
        mesos://host:port 在 Apache Mesos 中运行, 指定 Mesos 的地址
        yarn 在 Yarn 中运行, Yarn 的地址由环境变量 HADOOP_CONF_DIR 来指定
      • 测试

        • 创建文件
        • 启动spark-shell
        • 执行代码
    • Spark shell 的原理是把每一行 Scala 代码编译成类, 最终交由 Spark 执行

    Spark-submit

    • Spark submit 是一个命令, 用于提交 Scala 编写的基于 Spark 框架, 这种提交方式常用作于在集群中运行任务

    读取 HDFS 上的文件

    1. 上传文件到hdfs

      cd /export/data
      hdfs dfs -mkdir /dataset
      hdfs dfs -put wordcount.txt /dataset/
      
    2. 在Spark shell中访问hdfs

      val sourceRdd = sc.textFile("hdfs://node01:8020/dataset/wordcount.txt")
      val flattenCountRdd = sourceRdd.flatMap(_.split(" ")).map((_, 1))
      val aggCountRdd = flattenCountRdd.reduceByKey(_ + _)
      val result = aggCountRdd.collect
      
  • 相关阅读:
    排序算法说明
    easyExcel 读写excel表格
    POI 读写excel表格
    JVM虚拟机详解
    SSM相关的配置文件模板
    SSM 统一异常处理
    ssm框架实现发送邮件
    springboot发送邮件
    SpringBoot Ajax请求Json数据
    协程(Coroutine)(二)
  • 原文地址:https://www.cnblogs.com/xp-thebest/p/14269753.html
Copyright © 2011-2022 走看看