标签:String val wordCount RDD 初识 conf Spark spark
Spark初识
回顾一下前面的MapReduce流程,可以更好的学习spark
spark的框架
spark为什么比hadoop速度快
spark支持哪些语言
spark的运行模式有哪些
spark的单词统计
package com.core
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object Demo1WordCount {
def main(args: Array[String]): Unit = {
/**
* 创建spark环境
*
*/
// spark 环境配置对象
val conf = new SparkConf()
//设置spark任务的名称
conf.setAppName("Demo1WordCount")
//设置spark运行模式,local:本地运行
conf.setMaster("local")
//创建spark上下文对象,sc是spark写代码的入口
val sc = new SparkContext(conf)
/**
* 2.读取文件
* spark读取文件底层的代码和MapReduce是一样的
* 所以切片的规则是一样的
* spark是一个切片对应一个分区
*
* RDD:弹性的分布式数据集,现阶段可以当成list集合使用
*
*/
//如果是在集群运行,就是读取hdfs的文件
val lineRDD: RDD[String] = sc.textFile("data/word.txt")
/**
* 3. 将单词展开
*
*/
val wordsRdd: RDD[String] = lineRDD.flatMap(line => line.split(","))
/**
* 4. 按照单词分组
*
*/
val kvRDD: RDD[(String, Iterable[String])] = wordsRdd.groupBy(w => w)
/**
* 5. 统计单词的数量
*/
val wordCount: RDD[String] = kvRDD.map{
case ((word:String, iter:Iterable[String])) =>
val count: Int = iter.size
s"$word\t$count"
}
wordCount.foreach(println)
/**
* 保存数据
*
*/
wordCount.saveAsTextFile("data/wordCount.txt")
}
}
标签:String,val,wordCount,RDD,初识,conf,Spark,spark 来源: https://www.cnblogs.com/atao-BigData/p/16468658.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。