1

场景:我创建了一个查找表(输入是大约 50 Mb 的 JSON 文件)并缓存在内存中,以便在处理输入文件的每一行(每个输入文件中大约 10000 个数据点)时可以查找它。

问题:spark 中的 dataframe.filter(...).select(...) 方法是否执行顺序搜索或哈希搜索?在这种情况下,我们如何才能更快地检索数据?另外,我想知道是否需要在其上创建索引或为其创建哈希表(如果需要,我不确定它是如何为数据帧完成的)。

4

1 回答 1

1

据我所知 - 他们都不是。在 DataFrames 中选择仅投影选定的列,它不选择特定的记录,因此不需要搜索算法。

要像在标准 SQL 中使用 WHERE 子句那样获取特定记录,您必须对select()感兴趣的列进行筛选,然后使用filter()方法对其进行过滤。

于 2015-09-14T11:55:33.033 回答