Hive資料在Hadoop集群間的遷移

2021-09-25 09:23:15 字數 1854 閱讀 1025

環境說明:

136.64.69.10(e3base02)    原集群hive服務端

136.64.69.49(e3base49)    目標集群hive服務端

136.64.69.75(e3base55)    目標集群hive客戶端

weixh_test                           hive測試庫

原集群匯出資料臨時目錄

hdfs dfs -mkdir /tmp/weixh_test
在136.64.69.10主機執行:

beeline -u jdbc:hive2://e3base02:9066/weixh_test -n e3base -p 111111 -e "show tables" | awk '' | sed "s/|/'/g" > /e3base/weixh/export.hql
測試中發現beeline命令出來的格式不正確,需要使用如下的hive -e 命令:

但注意,需要在hive命令中加入 use database_name

hive -e "use weixh_test;show tables" | awk '' | sed "s/|/'/g" > /e3base/weixh/export.hql
匯出的export.hql樣例:

export table ind_cpc_activity_user_list_d_old to '/tmp/weixh_test/ind_cpc_activity_user_list_d_old';
beeline -u jdbc:hive2://e3base02:9066/weixh_test -n e3base -p 111111 -f /e3base/weixh/export.hql
在136.64.69.10主機執行:

hadoop fs -get /tmp/weixh_test /e3base/weixh
在136.64.69.10主機執行:

scp -r /e3base/weixh/weixh_test e3base55:/e3base/tmp

hdfs dfs -put /e3base/tmp/weixh_test /tmp/

這樣目標集群hdfs下就會有/tmp/weixh_test路徑了。

在136.64.69.10主機執行:

cp /e3base/weixh/export.hql /e3base/weixh/import.hql

sed -i 's/export table/import table/g' /e3base/weixh/import.hql

sed -i 's/ to / from /g' /e3base/weixh/import.hql

scp /e3base/weixh/import.hql e3base55:/e3base/tmp/

匯入指令碼import.hql樣例:

import table ind_cpc_activity_user_list_d_old from '/tmp/weixh_test/ind_cpc_activity_user_list_d_old';
e3base55(136.64.69.75)主機,連線新集群的hive埠:

beeline -u jdbc:hive2://e3base49:10000/weixh_test -n e3base -p 111111 -f /e3base/tmp/import.hql
匯入後,遷移的表資料就能在目標集群hive中查到。

Hadoop集群監控與Hive高可用 分享總結

概述 此分享是關於hadoop集群監控與hive高可用的分享彙總,作者來自暴風影音 彙總點 hadoop監控基於cacti主要包括 io,cpu,記憶體,io等待缺點是模板太少 hadoop監控基於ganglia包括負載 頻寬等缺點是配置複雜 hive的高可用可以基於haproxy和多個hive t...

hadoop資料遷入到hive

由於很多資料在hadoop平台,當從hadoop平台的資料遷移到hive目錄下時,由於hive預設的分隔符是 為了平滑遷移,需要在建立 時指定資料的分割符號,語法如下 create table test uid string,name string row format delimited fiel...

Hadoop大資料 Hive初識

hadoop提供了大資料的通用解決方案,比如儲存提供了hdfs,計算提供了mapreduce思想。但是想要寫出mapreduce演算法還是比較繁瑣的,對於開發者來說,需要了解底層的hadoop api。如果不是開發者想要使用mapreduce就會很困難.另一方面,大部分的開發者都有使用sql的經驗。...