Spark-Shell编程

Spark-Shell编程

进入Spark-shell模式

bin/spark-shell --master local[6]  #本地运行

WordCount案例

  • 读取文件

    val rdd1=sc.textFile("file:///export/wordcount.txt")	#读取本地文件
    val rdd1=sc.textFile("hdfs://node01:8020/wordcount.txt")	#读取hdfs文件
    
  • 分割展平

    val rdd2=rdd1.flatMap(item=>item.split(" "))
    
  • 赋予词频

    val rdd3=rdd2.map(item=>(item,1))
    
  • reduce聚合

    val rdd4=rdd3.reduceByKey((curr,agg)=>curr+agg)
    
  • 数据展示

    rdd4.collect()
    

Spark独立应用

IDEA添加Scala SDK

代码编写

object WordCount {

  def main(args: Array[String]): Unit = {
    //创建SparkContext
    //本地运行
//    val conf=new SparkConf().setMaster("local[6]").setAppName("WordCount")
    //提交运行
    val conf=new SparkConf().setAppName("WordCount")
    val sc=new SparkContext(conf)

    //加载文件
    val file=sc.textFile("hdfs://192.168.2.135:8020/wordcount.txt")
    //处理
    val flatFile=file.flatMap(item=>item.split(" "))
    val flatFileMap=flatFile.map(item=>(item,1))
    val aggCount=flatFileMap.reduceByKey((curr,agg)=>curr+agg)
    //得到结果
    aggCount.foreach(item=>println(item))
  }

}

Jar包集群运行

#语法格式
bin/spark-submit --class 全类名 --master spark://node01:7077 jar包位置
posted @ 2021-02-03 18:57  公鸡不下蛋  阅读(188)  评论(0编辑  收藏  举报