有一个问题,就是读入一个文件,找出其中此最多(最长)的一行。
val t = sc.textFile("D:\\hadoop\\input\\hello.txt") //读取文件
val q = t.map(lne => (line, line.split(" ").size)) //创建一个pair(哈哈哈 你好, 2)
q.reduce((x,y) => if(x._2>y._2) x else y) //以第二个参数进行比较
思考:
(x,y) =>
这里的x,y是q里面一个数据,在这里面就是pair。也就是PairX,PairY。
然后后面的是拿这个pair的第二个数据进行比较,输出的也要是一个pair。所以if(啥啥啥) x else y