Hive分區過多有何壞處以及分區時的注意事項

  1.當分區過多且數據很大時,能夠使用嚴格模式,避免出發一個大的mapreduce任務。當分區數量過多且數據量較大時,執行寬範圍的數據掃描會觸發一個很大的mapreduce任務。在嚴格模式下,當where中沒有分區過濾條件時會禁止執行。node

  2.hive若是有過多的分區,因爲底層是存儲在HDFS上,HDFS上只用於存儲大文件 而非小文件,由於過多的分區會增長namenode的負擔。效率

  3.hive會轉化爲mapreduce,mapreduce會轉化爲多個task。過多小文件的話,每一個文件一個task,每一個task一個JVM實例,JVM的開啓與銷燬會下降系統效率。map

  注意:合理的分區不該該有過多的分區和文件目錄,而且每一個目錄下的文件應該足夠大。數據

相關文章
相關標籤/搜索