【Hive】hive資料遷移
背景:現將hive 資料從aws遷移至阿里雲
按照網上的方法踩了大坑最後總結了區別
分兩種情況:
事務引數:TBLPROPERTIES ('transactional'='true') #########建表開啟事務的情況下 1 方法一export/import export table collection_server_have_trans to '/tmp/collection_server_have_trans/'; scp 到另一個叢集下 import from '/tmp/collection_server_have_trans'; 結果:讀不出資料 2 方法二: 直接get hdfs,複製到另一個叢集,然後get上傳,然後repair 結果,讀不出資料 3 將上述兩個辦法在一個叢集內做實驗是可以的,難道是跨叢集導致的問題?還是版本的原因呢? #########建表不開啟事務的情況下 1 方法一export/import export table collection_server_have_trans to '/tmp/collection_server_have_trans/'; scp 到另一個叢集下 import from '/tmp/collection_server_have_trans'; 結果:讀的出資料 2方法二: 直接複製分割槽,上傳 然後repair 結果,讀的出資料 3。將上述兩個辦法在一個叢集內做實驗也是可以的
透過上面的實驗對比不難得出結論:
-
在 開啟事務 的情況下:本叢集內export/import 複製hdfs的方法都可用,跨叢集不可使用該方法
-
在 不開啟事務 的情況下:本叢集內export/import 複製hdfs的方法都可用,跨叢集也可使用該方法
具體操作流程如下:
1.登入目前hive,匯出資料
源端匯出資料 export table collection_server to '/tmp/collection_server' ; 檢視 [hadoop@ip-172-31-33-52 tmp]$ hadoop fs -ls /tmp/collection_server Found 7 items -rwxrwxrwt 1 hadoop hadoop 12971 2018-08-21 07:37 /tmp/collection_server/_metadata drwxrwxrwt - hadoop hadoop 0 2018-08-21 07:37 /tmp/collection_server/partition_day=180816 drwxrwxrwt - hadoop hadoop 0 2018-08-21 07:37 /tmp/collection_server/partition_day=180817 drwxrwxrwt - hadoop hadoop 0 2018-08-21 07:37 /tmp/collection_server/partition_day=180818 drwxrwxrwt - hadoop hadoop 0 2018-08-21 07:37 /tmp/collection_server/partition_day=180821 drwxrwxrwt - hadoop hadoop 0 2018-08-21 07:37 /tmp/collection_server/partition_day=180823 drwxrwxrwt - hadoop hadoop 0 2018-08-21 07:37 /tmp/collection_server/partition_day=180824
2.從hdfs中下載並複製至阿里雲hfds
hfds檔案系統下載到本地 [hadoop@ip-172-31-33-52 tmp]$ hadoop fs -get /tmp/collection_server /tmp/ 複製:略 上傳至阿里雲hdfs檔案系統 [hadoop@ip-172-31-46-220 ~]$ hadoop fs -put collection_server /tmp/ 檢視: [hadoop@ip-172-31-46-220 ~]$ hadoop fs -ls /tmp/ Found 4 items drwxr-xr-x - hadoop hadoop 0 2018-08-21 07:47 /tmp/collection_server drwxrwxrwx - mapred mapred 0 2018-06-22 09:04 /tmp/hadoop-yarn drwx-wx-wx - hive hadoop 0 2018-07-20 09:43 /tmp/hive -rw-r--r-- 1 hadoop hadoop 22 2018-06-27 05:40 /tmp/tt.txt
3.匯入新的阿里雲hive叢集中
hive> import from '/tmp/collection_server'; Copying data from hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180816 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180816/delta_0000001_0000010 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180816/delta_0000011_0000020 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180816/delta_0000021_0000030 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180816/delta_0000031_0000040 Copying data from hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180817 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180817/delta_0000041_0000050 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180817/delta_0000051_0000060 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180817/delta_0000061_0000070 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180817/delta_0000071_0000080 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180817/delta_0000081_0000090 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180817/delta_0000091_0000100 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180817/delta_0000101_0000110 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180817/delta_0000111_0000120 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180817/delta_0000121_0000130 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180817/delta_0000131_0000140 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180817/delta_0000141_0000150 Copying file: hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180817/delta_0000151_0000160 Copying data from hdfs://ip-172-31-46-220.ap-south-1.compute.internal:8020/tmp/collection_server/partition_day=180818 檢查: hive> select count(*) from collection_server; Query ID = hadoop_20180821074918_5ad9d0e5-9bce-4c52-b1dc-93ddd9ef766f Total jobs = 1 Launching Job 1 out of 1 Status: Running (Executing on YARN cluster with App id application_1529658302761_18066) ---------------------------------------------------------------------------------------------- VERTICES MODE STATUS TOTAL COMPLETED RUNNING PENDING FAILED KILLED ---------------------------------------------------------------------------------------------- Map 1 .......... container SUCCEEDED 30 30 0 0 0 0 Reducer 2 ...... container SUCCEEDED 1 1 0 0 0 0 ---------------------------------------------------------------------------------------------- VERTICES: 02/02 [==========================>>] 100% ELAPSED TIME: 7.60 s ---------------------------------------------------------------------------------------------- OK 21570
更多遷移方法參考:
https://blog.csdn.net/u9999/article/details/78830818
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2212476/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ETL資料整合丨PostgreSQL資料遷移至Hive資料庫SQLHive資料庫
- [hive]hive資料模型中四種表Hive模型
- HIVE 資料同步Hive
- 【大資料開發】Hive——Hive函式大全大資料Hive函式
- 【HIVE】hive 使用shell指令碼跑歷史資料Hive指令碼
- 大資料時代的技術hive:hive介紹大資料Hive
- Hive資料匯出Hive
- Hive資料傾斜Hive
- Hive學習筆記 2 Hive的資料型別Hive筆記資料型別
- Hive學習筆記 4 Hive的資料匯入Hive筆記
- 從Hive遷移到SparkSQL,有讚的大資料實踐HiveSparkSQL大資料
- 大資料時代的技術hive:hive的資料型別和資料模型大資料Hive資料型別模型
- spark寫入hive資料SparkHive
- Hive資料格式轉換Hive
- Hive 資料更新時間Hive
- 大資料技術 - Hive大資料Hive
- Hive之 資料儲存Hive
- Hive之 資料型別Hive資料型別
- 大資料4.2 -- hive資料庫大資料Hive資料庫
- HIVE隨手記——Hive命令(?$HIVE_HOME/bin/hive)Hive
- Hadoop Hive遷移至MaxComputeHadoopHive
- 23 大資料之hive(第四部 hive基礎)大資料Hive
- Hive學習筆記 5 Hive的資料查詢、函式Hive筆記函式
- HIVE資料匯入基礎Hive
- Hive處理Json資料HiveJSON
- hive(4)——後設資料概述Hive
- 使用 Hive 構建資料庫Hive資料庫
- 掌握Hive資料儲存模型Hive模型
- [Hive]Hive排序優化Hive排序優化
- Hive --------- hive 的優化Hive優化
- Hive之 hive架構Hive架構
- [hive] hive cli 命令列Hive命令列
- 從零自學Hadoop(16):Hive資料匯入匯出,叢集資料遷移上HadoopHive
- 從零自學Hadoop(17):Hive資料匯入匯出,叢集資料遷移下HadoopHive
- 初識Hive:3張圖瞭解Hive的資料型別、架構圖!Hive資料型別架構
- Hive學習之二 《Hive的安裝之自定義mysql資料庫》HiveMySql資料庫
- Hive篇--搭建Hive叢集Hive
- Hive篇---Hive使用優化Hive優化