[英]Slow loading of partitioned Hive table
我正在Hive中加載一個按日期分區的表。 它目前包含大約3年的記錄,所以大約900個分區(即365 * 3)。
我正在將每日增量加載到此表中,每天添加一個額外的分區。 我使用動態分區來實現這一點,因為我無法保證我的源數據只包含一天的數據(例如,如果我從失敗中恢復,我可能需要多天處理數據)。
這一切都很好,但是我注意到實際編寫分區的最后一步變得非常慢。 我的意思是日志顯示MapReduce階段快速完成,它在最后一步非常慢,因為它似乎掃描並打開所有現有分區,無論它們是否會被覆蓋。
我應該明確創建分區以避免這一步嗎?
分區是動態的還是靜態的通常不應該大幅改變性能。 你能檢查每個分區有多少實際文件被創建? 只是想確保實際寫入不是序列化的,如果它只寫入一個文件就可以。 還要檢查作業使用了多少映射器和縮減器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.