微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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-submit --master spark://node01:7077 \
--class cn.itcast.spark.WordCounts \
original-spark-0.1.0.jar

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐