Spark Scala
用scala 编写一个通过时间找到对应的ip ,然后按时间排序文本txt我共享了,大神帮忙一下..........用,划分,iptv是那个ip, 20171123120027那一列时间 ,怎们用scala编写..................00|iptv2014070803|20171123120027|08
00|iptv2014030803|20171123120032|01
00|iptv2014050901|20171123120056|08
00|iptv2014070803|20171123120057|08
00|iptv2014030803|20171123120102|01
00|iptv2014050901|20171123120126|08
00|iptv2014070803|20171123120127|08
00|iptv2014030803|20171123120132|01
00|iptv2014050901|20171123120156|08
00|iptv2014070803|20171123120157|08
00|iptv2014030803|20171123120202|01
00|iptv2014050901|20171123120226|08
00|iptv2014070803|20171123120227|08
就是想通过时间找到对应的ip,然后再按时间进行排序 划分成为 时间:ip 然后对时间进行排序 可以吗? 恩,我的意思就是通过那个时间找到对应的ip,然后按时间进行排序 def main(args: Array): Unit = {
val spark = SparkSession
.builder()
.master("local")
.appName("iptime")
.getOrCreate()
val filerdd = spark.sparkContext.textFile("f:\\iptime.txt")
val result = filerdd.map(line =>{
val lineArray = line.split("\\|")
(lineArray(2),lineArray(1).substring(4))
}).sortByKey()
println(result.collect.toBuffer)
} 本帖最后由 desehawk 于 2017-11-27 14:46 编辑
首先我这里将这个文件保存为question.txt文件,并且上传到hdf。
然后进入spark-shell去读取这个文件,这里使用的是spark2
首先通过SparkSesstion创建sparkcontext
val sc=spark.sparkContext
然后读取文件
val file=sc.textFile("/question.txt")
我们来看读取的内容
这时候我们就可以操作了
比如我们寻找时间为:20171123120027的列:
val query= file.filter(x=>x.contains("20171123120027"))
这样query里面就是我们想要得到的内容,我们打印query
ok,这样就得到我们想要的结果了。如果排序,可以在后面在加上.sortByKey()
恩,谢了
页:
[1]