|NO.Z.00020|——————————|^^ 案例 ^^|——|Hadoop&Spark.V08|——|Spark.v08|sparkcore|算子综合案例&wordcount-scala|

一、算子综合应用案例:wordCount-scala
### --- WordCount - scala

package cn.yanqi.sparkcore

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object ScalaWordCount {
  def main(args: Array[String]): Unit = {
    // 1、创建SparkContext
    val conf = new SparkConf().setAppName("WordCount")
    val sc = new SparkContext(conf)
    // 设置日志的显示级别:WARN为空
    sc.setLogLevel("WARN")

    // 2、读本地文件(集群运行:输入参数)
    val lines: RDD[String] = sc.textFile(args(0))

    // 3、RDD转换
    val words: RDD[String] = lines.flatMap(line => line.split("\\s+"))
    val wordsMap: RDD[(String, Int)] = words.map(x => (x, 1))
    val result: RDD[(String, Int)] = wordsMap.reduceByKey(_ + _)

    // 4、输出
    result.foreach(println)

    // 5、关闭SparkContext
    sc.stop()

    // 6、打包,使用spark-submit提交集群运行
    // spark-submit --master local[*] --class cn.yanqi.sparkcore.WordCount \
    // original-YanqiBigData-1.0-SNAPSHOT.jar /wcinput/*

    // spark-submit --master yarn --class cn.yanqi.sparkcore.WordCount \
    // original-YanqiBigData-1.0-SNAPSHOT.jar /wcinput/*
  }
}
### --- 编译打印

~~~     # 定义为本地文件地址:
    // 1、创建SparkContext
    val conf = new SparkConf().setMaster("local[*]").setAppName("WordCount")
    val sc = new SparkContext(conf)
    // 设置日志的显示级别为空
    sc.setLogLevel("WARN")

    // 2、读本地文件(集群运行:输入参数)
    val lines: RDD[String] = sc.textFile( path = "file:///E:\\NO.Z.10000——javaproject\\NO.Z.00002.Hadoop\\SparkBigData\\data\\wc.txt")
~~~     # 打印输出

(hadoop,2)
(hdfs,1)
(yanqi,3)
(mapreduce,5)
(yarn,2)
二、编译打包并上传服务器
### --- 编译打包

~~~     # 编程代码参数
    // 1、创建SparkContext
    val conf = new SparkConf().setAppName("WordCount")
    val sc = new SparkContext(conf)
    // 设置日志的显示级别:WARN为空
    sc.setLogLevel("WARN")

    // 2、读本地文件(集群运行:输入参数)
    val lines: RDD[String] = sc.textFile(args(0))
### --- 编译打包上传服务器

~~~     打包——>生成jar包:original-com.yanqi.sparkbigdata-1.0-SNAPSHOT.jar
~~~     重命名jar文件为:scalawordcoun.jar
 
~~~     # 将打包好的scalawordcount.jar包上传到服务器下

[root@hadoop02 ~]# ls
data  scalawordcoun.jar
三、在spark-standalone模式下运行
### --- 在local下运行

~~~     # 在standalone模式下运行自定义的jar包
[root@hadoop02 ~]# spark-submit --master local[*] --class cn.yanqi.sparkcore.WordCount \
scalawordcoun.jar /wcinput/*
~~~ 输出参数
(hadoop,2)
(yanqi,3)
(mapreduce,3)
(yarn,2)
(hdfs,1)
### --- 提交到yarn下运行

~~~     # 启动yarn服务
[root@hadoop01 ~]# start-yarn.sh 
~~~     # 在yarn模式下验证程序

[root@hadoop02 ~]# spark-submit --master yarn --class cn.yanqi.sparkcore.ScalaWordCount \
original-YanqiBigData-1.0-SNAPSHOT.jar /wcinput/*
~~~ 输出参数
     client token: N/A
     diagnostics: N/A
     ApplicationMaster host: 192.168.1.123
     ApplicationMaster RPC port: -1
     queue: default
     start time: 1634629619872
     final status: UNDEFINED
     tracking URL: http://hadoop01:8088/proxy/application_1634629602495_0001/
     user: root

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(16)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示