【发布时间】:2019-03-01 00:13:08
【问题描述】:
我正在寻找一种有利于 Spark 并行性的有效方法,它将比较两个字符串中的单词。这两个字符串将是两个数据集中的一列。
任务很简单:计算一个字符串中出现在另一个字符串中的匹配单词的数量。
例如,“AA BB CC”、“AA A CC DD”-> 2(单词 AA 和 CC)
例如,“BB CC”、“AA A CC DD”-> 1(单词 CC)
scala中是否有一种有效的方法可以应用,而不是编写一个循环来遍历一个字符串中的每个单词?
【问题讨论】:
-
您能否详细说明“将成为两个数据集中的列”?你需要做一个
crossJoin()来比较每个可能的值吗?数据集是什么样的? -
DS1 将有一列包含第一个字符串; DS2 将有一列包含第二个字符串。这些数据集可能有额外的列。我必须从第一个数据集中取出每个字符串,并与第二个数据集中的每个字符串进行比较,看看每个字符串中有多少常用词。
标签: scala apache-spark