Arrays Spark Scala[用于嵌入if-else的循环]如何才能不接收重复阵列
我试图在数组RDD级别计算某些单词。差不多完成了一半。然而,结果显示与我所寻找的不完全相同 我在处理葡萄酒评论,比如Arrays Spark Scala[用于嵌入if-else的循环]如何才能不接收重复阵列,arrays,scala,apache-spark,rdd,Arrays,Scala,Apache Spark,Rdd,我试图在数组RDD级别计算某些单词。差不多完成了一半。然而,结果显示与我所寻找的不完全相同 我在处理葡萄酒评论,比如 var aa = dataset.map(c => c(2)) Array[String]=Array(“这是一款来自奥克维尔的优质100%品种葡萄酒,在橡木桶中陈酿了三年多。多汁的红樱桃和诱人的焦糖味让人回味无穷,”成熟的无花果香味,”麦克·沃森向他母亲在这款极其美味的葡萄酒中酿造的葡萄酒致敬,”在30%的新法国橡木桶中浸泡了20个月,“这是拉贝古德顶级葡萄酒,”深,
var aa = dataset.map(c => c(2))
Array[String]=Array(“这是一款来自奥克维尔的优质100%品种葡萄酒,在橡木桶中陈酿了三年多。多汁的红樱桃和诱人的焦糖味让人回味无穷,”成熟的无花果香味,”麦克·沃森向他母亲在这款极其美味的葡萄酒中酿造的葡萄酒致敬,”在30%的新法国橡木桶中浸泡了20个月,“这是拉贝古德顶级葡萄酒,”深,
我正试着数一数列表中某些单词的数量
var positive_list= List( "tremendously","delicious")
var sum=0
var rr=aa.map(column =>
for (i <- positive_list) yield {
if(column.contains(i)){
sum=sum+1
(column,sum)
} else {
(column,0)
}
})
rr.take(50)
var positive\u list=list(“非常”、“美味”)
var总和=0
var rr=aa.map(列=>
for(i对于肯定列表
中的每个元素,您正在使用for循环创建一个记录。我假设您希望将您的评论映射到它包含的肯定词的数量(因此每次评论仅一条记录)。您可以使用肯定列表
上的计数
:
var rr=aa.map(column => column -> positive_list.count(column.contains))
为什么要用Spark这样做呢?简单的修复程序你可以直接使用和distinct来消除重复项。正确的修复程序你可以消除变量,并以一种更大规模的方式来完成。谢谢你的建议。