1. 程式人生 > >hive表叢集間的遷移

hive表叢集間的遷移

記錄下工作中由於需要複製生產環境到測試環境以供測試使用做的一次資料庫的遷移,方法比較繁瑣,有待改進;

基本思路:將生產環境的表匯出到hdfs,將hdfs的資料get到本地,scp到測試環境的本地,put到測試環境的hdfs,再進行匯入;

  1. hive表到處到hdfs:
    export table table_name to '/home/path';

    這裡表名最好將庫名也加上,後面的path使用hdfs的路徑

  2. get到本地:

    hadoop fs -get /home/get/table_name /localpath

    到本地目錄,建議資料量不要太大,可以進行一個部分資料轉移即可畢竟測試

  3. scp到測試環境

    scp /local_path/table_name test-cdh:/test_path

    這裡可能需要好長時間,受網路頻寬限制

  4. put到測試環境的hdfs

    hadoop fs -put /test_path/table_name /test_hdfs_path
    

    一下就是測試環境的逆向操作了

  5. import表資料到hive

    import table table_name from '/test_hdfs_path/table_name';

    搞定