如何在设置 Spark 映射中的键时插入if循环减少?
我想要如果输入的单词是以大写字母开头的,则将其设置为键,否则不
(字数示例

样本输入-Affa Agshs djd Dhh

样本输出-

阿格什1

Dhh 1)

最佳答案

您必须使用 filter()

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)

09-11 09:18