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
      
  • 相关阅读:
    监控里的主码流和子码流是什么意思
    监控硬盘容量计算
    一个能让你了解所有函数调用顺序的Android库
    电工选线
    oracle linux dtrace
    list all of the Oracle 12c hidden undocumented parameters
    Oracle Extended Tracing
    window 驱动开发
    win7 x64 dtrace
    How to Use Dtrace Tracing Ruby Executing
  • 原文地址:https://www.cnblogs.com/xp-thebest/p/14269753.html
Copyright © 2011-2022 走看看