我有一个关于要使用的桶数的问题。我了解bucketing的用法以及它如何对smb连接和采样产生积极影响。但是如果数据量呈指数级增长呢?
假设查看初始数据量,我决定使用4个bucket并按天进行分区。当我插入到这个表中时,在某个点(插入查询中的最后一个作业)需要4个reducer。这很好。但是假设某些分区的数据量突然激增。它仍然需要4个减速器,这不是最佳的,它也有可能失败与oom。
一开始我可以决定使用更多的bucket,但这会导致创建太多的小文件,直到我达到高容量,因为每个bucket都进入一个文件。
一个bucket值可以有多个文件吗?
感谢您的意见。
k
1条答案
按热度按时间n9vozmp41#
专注于“某些分区的数据量突然激增”,您可以考虑使用list bucketing,它允许您将具有低容量的bucked列值放入一个目录中。