在map reduce spark中设置键值对中插入一个if循环

时间:2015-08-05 04:42:08

标签: java hadoop mapreduce apache-spark

如何在设置火花地图中的键减少时插入if循环。? 我希望如果输入单词是以大写字母开头,则将其设置为键,否则不设置 (字数例子

样本输入 - affa Agshs djd Dhh

示例输出 -

Agshs 1

Dhh 1)

1 个答案:

答案 0 :(得分:3)

您必须使用过滤器()

<强> sample_input.txt

affa Agshs djd Dhh
small Capital
Firstbig notFirstBig

spark-shell

val data   = sc.textFile("sample_input.txt")
val filteredData = data.flatMap(line => line.split(" ")).filter( w =>  { w.length>0 && Character.isUpperCase(w.charAt(0)) } )
val mapout = filteredData.map(w => (w,1)) 
mapout.foreach(println)

<强>输出:

scala> mapout.foreach(println)
(Agshs,1)
(Firstbig,1)
(Dhh,1)
(Capital,1)