高效的字母数字搜索sparkR

时间:2018-06-04 07:57:37

标签: r apache-spark sparkr

我有一个包含1000万行的Spark数据框,其中每行代表一个字母数字字符串,表示用户的id,例如: 602d38c9-7077-4ea1-bc8d-af5c965b4e85我的目标是检查1000万个列表中是否还有其他ID aaad38c9-7087-4ef1-bc8d-af5c965b4e85

我希望每次搜索都能有效地进行搜索,而不是搜索所有1000万条记录。示例可以按字母顺序对记录进行排序,并要求SparkR仅在以a而不是Universe开头的记录中进行搜索,以加快搜索速度并使其具有计算效率?

主要使用 SparkR 的任何解决方案,如果没有,那么任何Spark解决方案都会有所帮助

1 个答案:

答案 0 :(得分:-1)

您可以在数据框列中使用rlike进行正则表达式搜索。

df.filter($"foo".rlike("regex"))

或者你可以将火花数据帧索引到solr中,它肯定会在几毫秒内搜索你的字符串。 https://github.com/lucidworks/spark-solr