表结构导出

## @Title  Hive库表元数据导出脚本
## @Author changxy #!/bin/bash ##############注意修改Hive连接信息###############
hive=jdbc:hive2://127.0.0.1:10000
################################################# # 获取当前时间
date=$(date +%H%M)
# 导出脚本保存目录
dir=/home # 执行查询数据库命令
exec=$(beeline -u $hive -n hive -e "show databases;")
# 按照换行分隔为数组
databases=(${exec//\\n/})
# 遍历数据库
for db in "${databases[@]}"
do
if [[ $db != +* && $db != _* && $db != \| && $db != database_name ]]
then
# 写入创建数据库语句导出脚本文件
echo "CREATE DATABASE IF NOT EXISTS $db;" >> $dir/hive_export_$date.sql # 执行show tables语句查询数据表
exec=$(beeline -u $hive -n hive -e "use $db; show tables;")
# 替换|字符
exec=${exec//|/}
# 根据换行转为数组
tables=(${exec//\\n/}) # 遍历数据表
for tab in "${tables[@]}"
do if [[ $tab != +* && $tab != tab_name ]]
then
echo "数据表: "$tab
# 获取创建表DDL
exec_create_table_ddl=$(beeline -u $hive -n hive -e "use $db; show create table $tab;")
# 根据|分隔为数组对象
lines=(${exec_create_table_ddl//\|/})
# 定义create table dll语句
ddl=''
# 遍历create table ddl
for line in "${lines[@]}"
do
# 遇到ROW FORMAT SERDE跳出当前循环
if [[ $line == ROW ]]; then
break
elif [[ $line != +* && $line != createtab_stmt ]]; then
# 拼接create table脚本
ddl="$ddl $line"
fi
done;
# create table脚本最后面加上分号
ddl="$ddl ;"
# 写入导出文件
echo $ddl >> $dir/hive_export_$date.sql
fi done; fi
done

表结构导入

hive -f hive_export_1525.sql

Hive数据库数据表元数据导出脚本的更多相关文章

  1. 数据库数据用Excel导出的3种方法

    将数据库数据用Excel导出主要有3种方法:用Excel.Application接口.用OleDB.用HTML的Tabel标签 方法1——Excel.Application接口: 首先,需要要Exce ...

  2. PHP创建数据库数据表

    PHP创建数据库数据表 <?php $con = mysql_connect('localhost', 'root', 'root'); /************************在数据 ...

  3. SQL语句(一)SQL和数据库数据表的创建

    SQL的组成 (1) 数据定义语言DDL(Data Definition Language) 用于数据库和数据表的创建.修改和删除等操作 CREATE (create) 创建数据库.数据表 ALTER ...

  4. 第二百七十七节,MySQL数据库-数据表、以及列的增删改查

    MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNO ...

  5. SQL Sever实验一 创建和删除数据库数据表

    一. 实验目的 1. 熟悉SQL    Server    2008    中SQL    Server    Management    Studio的环境 2. 了解SQL    Server   ...

  6. opencart 3.0 版本数据库数据表字典(详细篇)

    1.下文是opencart3.0版本数据库数据表字典,表字段与功能的介绍都比较详细.             数据表 address :地址表,会员在结账时储存的账单地址或者配送地址(这个与区域配送方 ...

  7. mysql 数据表备份导出,恢复导入操作实践

    因为经常跑脚本的关系, 每次跑完数据之后,相关的测试服数据库表的数据都被跑乱了,重新跑脚本恢复回来速度也不快,所以尝试在跑脚本之前直接备份该表,然后跑完数据之后恢复的方式,应该会方便一点.所以实践一波 ...

  8. python操作数据库-数据表

    数据表: 数据类型: 帮助的三种形式: 在cmd中输入: help 要帮助的主题词,或 ? 要帮助的主题词 或  \h 要帮助的主题词 . 数据表的创建: CREATE database IF NOT ...

  9. Django数据库数据表操作

    建立表单 django通过设置类来快速建表,打开models.py 例: from __future__ import unicode_literals from django.db import m ...

  10. pg数据库数据表异常挂起

    pg数据库即是PostgreSQL数据库. 前几天在一个Java项目中,出现运行Java程序后,pg数据库的数据表异常挂起.而且是在某台电脑上出现的,重装数据库也没用,其它电脑未能复现,是个很奇怪的现 ...

随机推荐

  1. jQuery Mobile 使用中的问题

    1.点击data-role="page"内的页面,会自动隐藏头部栏和尾部栏. 在data-role="header"或data-role="foote ...

  2. 《高级程序员 面试攻略 》RocketMQ 如何保证顺序性

    RocketMQ 提供了一种称为顺序消息的机制来确保消息的顺序性.下面是一些关键的方法和概念: 1. 顺序消息:顺序消息是指在发送和消费过程中,消息按照特定的顺序进行处理.RocketMQ 通过将消息 ...

  3. 《SQL与数据库基础》15. 触发器

    目录 触发器 语法 示例-insert型触发器 示例-update型触发器 示例-delete型触发器 本文以 MySQL 为例 触发器 触发器是与表有关的数据库对象,指在 insert/update ...

  4. SpringSecurity简明教程

    SpringSecurity主要实现UserDetailsService来验证登录的用户信息,和Security的配置类来对登录方式和资源进行限制. 案例包含利用数据库进行登录验证.URL访问限制.自 ...

  5. CodeForces 1343E Weights Distributing

    题意 多组样例 给定\(n,m,a,b,c\),给定一个长度为\(m\)的数组\(p[]\),给定\(m\)条边,构成一个\(n\)个点\(m\)条边的无向图,\(Mike\)想要从\(a\)走到\( ...

  6. 2.4 PE结构:节表详细解析

    节表(Section Table)是Windows PE/COFF格式的可执行文件中一个非常重要的数据结构,它记录了各个代码段.数据段.资源段.重定向表等在文件中的位置和大小信息,是操作系统加载文件时 ...

  7. 好好回答下 TCP 和 UDP 的区别!

    写了这么多篇关于 TCP 和 UDP 的文章,还没有好好聊过这两个协议的区别,这篇文章我们就来开诚布公的谈一谈. 关于 TCP 和 UDP ,想必大家都看过一张这样的图. 有一个小姑娘在对着瓶口慢慢的 ...

  8. MyBatis-Plus和PageHelper冲突导致Factory method sqlSessionFactory threw exception,并且如何分页显示全部

    springboot开始引入了mybaits-plus.后来想引入pagehelper进行分页,引入之后报错 Error starting ApplicationContext. To display ...

  9. 大模型时代,如何快速开发AI应用

    本文分享自华为云社区 <[云享问答]第3期:大模型时代,如何快速开发AI应用>,作者:华为云社区精选. 大模型快速普及应用的当下,AI浪潮汹涌而至,对于开发者来说,开发一款属于自己的AI应 ...

  10. Nearest cluster-based intrusion detection through convolutional neural networks 笔记

    Nearest cluster-based intrusion detection through convolutional neural networks 技术要点 So, the primary ...