0
点赞
收藏
分享

微信扫一扫

导出hive中所有的建表语句

瑾谋 2023-10-16 阅读 30

#!/usr/bin/bash

# 获取当前脚本所在路径
cur_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd ${cur_dir}

# 导出所有hive数据库名
hive -e "show databases;" > ${cur_dir}/all_database.db
# 删除导出文件中的警告信息
sed -i '/^WARN:/d' ${cur_dir}/all_database.db

# 导出各个hive库下的所有表
for database in `cat ${cur_dir}/all_database.db`
do
    hive -e "use ${database};show tables;" > ${cur_dir}/${database}.tb
    sed -i '/^WARN:/d' ${cur_dir}/${database}.tb
    # 导出建表语句
    for table in `cat ${cur_dir}/${database}.tb`
    do
        hive -e "show create table ${database}.${table};" >> ${cur_dir}/${database}_all_DDL.sql
        sed -i '/^WARN:/d' ${cur_dir}/${database}_all_DDL.sql
        echo ";" >> ${cur_dir}/${database}_all_DDL.sql 
    done
done

举报

相关推荐

0 条评论