2014-05-19 31 views
0

我在配置單元中有一個名爲「analytics」的表,它擁有接近5TB的數據和10000多個分區。現在我想將表格重命名爲analytics_backup。因此,我使用了命令Droping Hive table throws內存不足錯誤

alter table analytics重命名爲analytics_backup。它掛在終端上30-45分鐘,然後引發內存不足錯誤。

有沒有人注意到這類問題以及解決方法。 我正在使用CDH3 Hadoop/Hive版本。提前致謝。

+0

如果出現內存錯誤,可以嘗試創建一個新表並根據分區加載它。我想問題是因爲當你重命名一個表時,HIVE也會爲它移動HDFS位置,從而導致內存錯誤。我沒有測試過這個假設,但我猜這值得一試。 – visakh

回答

1

您可以修改hive-env.sh以增加配置單元客戶端的堆大小。 export HADOOP_HEAPSIZE=___是你想要的設置。

我不明白爲什麼;但是,在處理多個分區之前,我已經看到了內存問題。重命名中的某個步驟可能是嘗試將所有分區信息加載到內存中。另外,如果你想要的只是一個備份,在文件級別執行它可能會更容易,只需將數據自己移動到hdfs上即可。