shell脚本实现hive导出数库建表语句

现在hive没有类似mysql那种可以直接导出数据库建表语句,只能通过shell去实现其等同的功能:

脚本内容如下:

hive -e "show databases;" > /home/eptok/tb.txt
dir=/home/eptok/tb.txt
dir1=/home/eptok/tb1.txt
dir2=/home/eptok/ods.txt
cat $dir | while read line
do
result=`echo "$line"`
echo $result
if [ $result != "" ];then
  hive -e "use $result;show tables;" > ${dir1}
  cat $dir1 | while read line1
  do
    if [ $line1 != "tab_name" ];then
       echo $result.$line1 >> ${dir2}
       hive -e "use $result;show create table  $result.$line1;" | grep -v createtab_stmt >> ods.sql
    fi
  done
fi
done

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章