【备份】 备份生产环境的hive database,table DDL语句

14 篇文章 0 订阅

 话不多说直接上脚本好了,拷贝下来可直接运行,最终的hql语句在bak_table_ddl.hql

#!/bin/bash
hive -e "show databases "> database.txt

rm -rf bak_table_ddl.hql

while read database

    do

    hive -e "show tables in $database" > tables.txt

    while read table

        do

        echo -n `hive -e " show create table ${database}.${table};"` >>bak_table_ddl.hql

        echo  ";"  >>bak_table_ddl.hql

        done < tables.txt

    done < database.txt

1. 想偷懒的可直接下载下来:

     链接: https://pan.baidu.com/s/1m7v-JMY0Fs5u8N1bO2p8mQ 提取码: i2sg

2.下载下来后,可直接运行

sh bak_hive_ddl.sh

  如果不是可执行文件的,执行以下linux chmod命令即可

sudo chmod +x bak_hive_ddl.sh

3.执行bak_table_ddl.hql 前需要先手动创建databases,所有的db 在 databases.txt 里面

hive -e 'create database if not exists db_middle'

3.1 或者直接在hive CLI窗口运行

 进入hive CLI窗口

hive

 执行创建db命令

create database if not exists db_middle;

4.创建完database 之后,运行table ddl

4.1 直接运行不进入HIVE CLI窗口

hive -f bak_table_ddl.hql

 这里可能会产生的错误有,执行sql语句错误,或者是init chdfs failed,可能引起的原因是批量写入hdfs io速率问题

解决:打开HIVE CLI小窗口张贴进去运行即可,遇到sql语句错误会停止直接修改执行错误的,正常的都会执行

4.2 进入 HIVE CLI窗口 张贴hql 直接运行

hive

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zsigner

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值