什么时候拉取所有数据并过滤,或者拉取过滤后的数据更好

dl5txlt9  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(278)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

4个月前关门了。
改进这个问题
我正在使用spark(pyspark)和mongodb作为关系数据库。
我们遇到了一些性能问题,我在这里找到的答案与大数据没有直接关系。
我们拉取整个mongodb,然后在spark中过滤,当我们应用一些过滤器时,我们没有过滤的一些列仍然存在于sparkDataframe中(让我稍后更好地解释最后一种情况)。
我的问题,除了对问题标题的大致理解外:
拉和过滤,或过滤和拉。如果没有一个明确的答案,那么应该考虑哪些参数?
假设我有一个sparkDataframe,其中有a、b、c列,我只在c上过滤,那么(假设我把所有东西都拉出来)删除a和b会更好吗?
任何有关这方面的链接或阅读是欢迎的。

yeotifhr

yeotifhr1#

1-拉过滤数据,只拉你想要的数据更有效。大多数数据库都进行了优化以进行过滤操作。最理想的情况是可以在筛选列上对数据进行分区(我猜是在筛选列c中)
2-我不确定,但我认为最好是放弃你不使用的列,主要是为了减少洗牌大小,如果你有洗牌。它也让你的数据框更清晰

相关问题