我有
df.select("*").filter(df.itemid==itemid).show()
并且从未终止,但是如果我这样做
print df.select("*").filter(df.itemid==itemid)
它打印不到一秒钟。这是为什么?
答案 0 :(得分:0)
因为select
和filter
正在构建执行指令,所以他们不会对数据做任何事情。然后,当您调用show
时,它实际执行这些指令。如果它没有终止,那么我会查看日志以查看是否存在任何错误或连接问题。或者数据集可能仍然太大 - 尝试只取5来查看是否快速返回。
答案 1 :(得分:0)
如果您的计算机中没有足够的可用内存,通常会发生这种情况。释放一些内存,然后重试。