假设我正在加入几个Spark
数据框:
abcd = a.join(b, 'bid', 'inner')\
.join(c, 'cid', 'inner')\
.join(d, 'did', 'left')\
.distinct()
abcd.head() # takes 5-7 min.
head
调用触发需要5-7分钟的管道执行。它与那些joins
有什么关系吗?你如何让管道更快?
答案 0 :(得分:1)
head()
只返回一条记录。
如果您只需要第一条记录,则不需要distinct()
。
它可能会让你免于昂贵的洗牌。
但是,考虑到您已加入以上内容,并且结果数据集未排序 - 无法保证将返回哪条记录。