为什么Spark的show()函数很慢?

时间:2017-07-25 18:34:40

标签: python apache-spark

我有

df.select("*").filter(df.itemid==itemid).show()

并且从未终止,但是如果我这样做

print df.select("*").filter(df.itemid==itemid)

它打印不到一秒钟。这是为什么?

2 个答案:

答案 0 :(得分:0)

因为selectfilter正在构建执行指令,所以他们不会对数据做任何事情。然后,当您调用show时,它实际执行这些指令。如果它没有终止,那么我会查看日志以查看是否存在任何错误或连接问题。或者数据集可能仍然太大 - 尝试只取5来查看是否快速返回。

答案 1 :(得分:0)

如果您的计算机中没有足够的可用内存,通常会发生这种情况。释放一些内存,然后重试。