r语言 - 高效的字母数字搜索 sparkR



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

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

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

您可以使用 rlike,它用于数据帧列中的正则表达式搜索。

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

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

最新更新