场景:我创建了一个查找表(输入是大约50 Mb的JSON文件)并缓存在内存中,以便在处理输入文件的每一行时可以查找它(每个输入文件中大约10000个数据点)
问题:spark中的dataframe.filter(...)。select(...)方法是执行顺序搜索还是哈希搜索?在这种情况下,我们如何更快地检索数据?此外,我想知道我是否需要在其上创建索引或创建它的哈希表(如果我需要,我不知道它是如何完成数据帧)。
答案 0 :(得分:1)
据我所知 - 他们两个都没有。在DataFrames中选择仅投影所选列,它不选择特定记录,因此不需要搜索算法。
要像在标准SQL中使用WHERE子句那样获取特定记录,您必须使用感兴趣的select()
列,然后使用filter()
方法对其进行过滤。