• Spark学习之在集群中运行代码


    代码提交到 Spark Standalone 集群中运行

    Spark-submit 第二种常见的spark程序方式

    spark-submit [options] <app jar> <app options>
    
    • app jar 程序 Jar 包
    • app options 程序 Main 方法传入的参数
    • options 提交应用的参数, 可以有如下选项
    参数 解释
    --master <url> 同 Spark shell 的 Master, 可以是spark, yarn, mesos, kubernetes等 URL
    --deploy-mode <client or cluster> Driver 运行位置, 可选 Client 和 Cluster, 分别对应运行在本地和集群(Worker)中
    --class <class full name> Jar 中的 Class, 程序入口
    --jars <dependencies path> 依赖 Jar 包的位置
    --driver-memory <memory size> Driver 程序运行所需要的内存, 默认 512M
    --executor-memory <memory size> Executor 的内存大小, 默认 1G

    编写代码

    package com.xp.rdd
    
    import org.apache.spark.{SparkConf,SparkContext}
    
    /**
     * @author noor9
     * @date 2021-01-12-17:12
     */
    object WordCount {
    
      def main(args: Array[String]): Unit = {
        val conf = new SparkConf().setAppName("word_count")
        val sc = new SparkContext(conf)
        val rdd1 = sc.textFile("hdfs://node01:8020/data/wordcount.txt")
        val rdd2 = rdd1.flatMap(item => item.split(" "))
        val rdd3 = rdd2.map(item => (item,1))
        val rdd4 = rdd3.reduceByKey((curr,agg)=>curr+agg)
        val result = rdd4.collect()
        result.foreach(item => println(item))
      }
    }
    

    在idea中使用maven打包,找到jar包


    将jar包上传到虚拟机

    开启spark

    spark-submit 命令完成运行

    ​ 获取运行class的全路径

    ​ 输入命令 参考上面spark-sumit参数表格

  • 相关阅读:
    【转】Linux平台上用C++实现多线程互斥锁
    【转】用C++实现多线程Mutex锁(Win32)
    【转】ACM国内外OJ网站大集合
    【转】常用 blas 函数
    浏览器插件检查
    自定义事件
    JavaScript对象继承方式与优缺点
    如何页面减少重绘回流
    CSS3特效(3)——环形进度条
    CSS3特效(2)——文字特效
  • 原文地址:https://www.cnblogs.com/xp-thebest/p/14274280.html
Copyright © 2020-2023  润新知