对spark1.txt文件进行筛选,将A或者包含A的字母筛选出来并统计个数,然后输出到dome1文件中。
package com.tiem
import org.apache.spark.{SparkConf, SparkContext}
object Demo {
def main(args: Array[String]): Unit = {
//读取配置文件,获取上下文
var conf=new SparkConf().setAppName("meiHua").setMaster("local")
println(conf)
//去读数据
var sc=new SparkContext(conf)
// println(sc)
var add=sc.parallelize(List(16,684,56,898,47,23,476,56))
add.foreach(i=>println(i+"~"))
//去重操作
add.distinct().foreach(i=>println(i+"~去重"))
//排序
add.sortBy(i=>i,false).filter(i=>{
i>10&&i<520//只要大于10小于520的数据
}).map(_/2).foreach(i=>println(i+"~排序"))
}
}
package com.tiem
import org.apache.spark.{SparkConf, SparkContext}
object Demo1 {
def main(args: Array[String]): Unit = {
var conf=new SparkConf().setAppName("qiuLan").setMaster("local")
var sc=new SparkContext(conf)
var add=sc.parallelize(List("西施","杨玉环","貂蝉","王昭君"))
//
add.filter(str=>{
if(str.contains("王")){
false
}else{
true
}
}).foreach(str=>println(str))
}
}
package com.tiem
import org.apache.spark.{SparkConf, SparkContext}
object Demo2 {
def main(args: Array[String]): Unit = {
var filePth="D:\\inf/info.txt"
//对以上的文件进行分析
var conf=new SparkConf().setAppName("日").setMaster("local")
//读取配置
var sc=new SparkContext(conf)
//读取文件
var file=sc.textFile(filePth)
//去掉首行
var firstRow=file.first()//不能直接删除
var infos=file.filter(!_.equals(firstRow))
//处理掉\t
var delT=infos.flatMap(_.split("\t"))
//判断是否存在A
var findA=delT.filter(_.contains("日"))
//做一个统计
var wordOne = findA.map(str=>(str,1))//利用map特性去重
var result=wordOne.reduceByKey(_+_)
//
result.saveAsTextFile("D:/baidu2/demo1")
}
}