生產環境賬號回收,需要把所有數據表遷移到測試環境!!!
上百張表,已經找不到原始建表語句,只能自己想辦法了。
百度很久,最終決定通過shell把從集羣上把建表語句下載下來:
新建list_tables.sql
use db;
show tables;
新建show_create.sql
use db;
show create table ${hiveconf:table};
download_test.sh
#! /bin/bash
hive -S -f list_tables.sql > tables_name.txt
cat tables_name.txt | while read eachline
do
hive -hiveconf table=${eachline} -S -f show_create.sql >> tables_structure.txt
echo >> tables_structure.txt
done
hdfs dfs -put *.txt /user/asmp/shell
rm -rf tables_name.txt tables_structure.txt
最終把建表語句下載到tables_structure.txt中,經過簡單處理在測試集羣執行。
注意事項:
表名和字段不支持中文註釋 COMMENT ‘???’,最好手動處理下。