Hive数据库数据表元数据导出脚本
表结构导出
## @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数据库数据表元数据导出脚本的更多相关文章
- 数据库数据用Excel导出的3种方法
将数据库数据用Excel导出主要有3种方法:用Excel.Application接口.用OleDB.用HTML的Tabel标签 方法1——Excel.Application接口: 首先,需要要Exce ...
- PHP创建数据库数据表
PHP创建数据库数据表 <?php $con = mysql_connect('localhost', 'root', 'root'); /************************在数据 ...
- SQL语句(一)SQL和数据库数据表的创建
SQL的组成 (1) 数据定义语言DDL(Data Definition Language) 用于数据库和数据表的创建.修改和删除等操作 CREATE (create) 创建数据库.数据表 ALTER ...
- 第二百七十七节,MySQL数据库-数据表、以及列的增删改查
MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNO ...
- SQL Sever实验一 创建和删除数据库数据表
一. 实验目的 1. 熟悉SQL Server 2008 中SQL Server Management Studio的环境 2. 了解SQL Server ...
- opencart 3.0 版本数据库数据表字典(详细篇)
1.下文是opencart3.0版本数据库数据表字典,表字段与功能的介绍都比较详细. 数据表 address :地址表,会员在结账时储存的账单地址或者配送地址(这个与区域配送方 ...
- mysql 数据表备份导出,恢复导入操作实践
因为经常跑脚本的关系, 每次跑完数据之后,相关的测试服数据库表的数据都被跑乱了,重新跑脚本恢复回来速度也不快,所以尝试在跑脚本之前直接备份该表,然后跑完数据之后恢复的方式,应该会方便一点.所以实践一波 ...
- python操作数据库-数据表
数据表: 数据类型: 帮助的三种形式: 在cmd中输入: help 要帮助的主题词,或 ? 要帮助的主题词 或 \h 要帮助的主题词 . 数据表的创建: CREATE database IF NOT ...
- Django数据库数据表操作
建立表单 django通过设置类来快速建表,打开models.py 例: from __future__ import unicode_literals from django.db import m ...
- pg数据库数据表异常挂起
pg数据库即是PostgreSQL数据库. 前几天在一个Java项目中,出现运行Java程序后,pg数据库的数据表异常挂起.而且是在某台电脑上出现的,重装数据库也没用,其它电脑未能复现,是个很奇怪的现 ...
随机推荐
- 更专业省心的来了,你没必要研究UE4和Unity官方推流了!
在当今互联网时代,所有的内容制作者都希望尽可能触达到更多的目标受众,那就需要全平台发布内容并且可以轻松跨平台分享,包括手机.平板电脑.个人电脑以及交互式屏幕,用户能畅快的获得高质量的体验.需求催生了一 ...
- c++算法之离散化
什么是离散化? 离散化,故离散数学,其中的"离散"就是不连续的意思.离散化可以保持原数值之间相对大小关系不变的情况下将其映射成正整数. 也就是给可能用到的数值按大小关系分配一个编号 ...
- Jquery tableExport.js将网页中的表格导出为Excel
需求:将如下网页中的所有表格一次导入到Excel文件中. 方法:使用jQuery的tableExport.js插件,可以将网页中指定的table表格数据导出到Excel文件,而不需要经过后台. 操作步 ...
- jQuery获取select选中值的文本
实际代码:var checkUserSelect=$("#checkUserSelect option:selected").text();//执法人员姓名 jQuery中获得选中 ...
- 响应式编程——初识 Flux 和 Mono
by emanjusaka from https://www.emanjusaka.top/archives/4 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请留下原文地址. 前言 Reactor ...
- [EasyExcel] 导出合并单元格
前言 使用spring boot 对excel 进行操作在平时项目中要经常使用.常见通过jxl和poi 的方式进行操作.但他们都存在一个严重的问题就是非常的耗内存.这里介绍一种 Easy Excel ...
- 58同城二手车数据爬虫——数字加密解码(Python原创)
一.基础首页爬取 def crawler(): # 设置cookie cookie = '''cisession=19dfd70a27ec0e t_f805f7762a9a237a0deac37015 ...
- 在线问诊 Python、FastAPI、Neo4j — 创建 检查节点
目录 症状数据 创建节点 根据不同的症状,会建议做些相对应的检验.检查 症状数据 examine_data.csv 建议值用""引起来.避免中间有,号造成误识别 检查 " ...
- Springboot支持XML格式报文的传输
导入依赖-jackson-dataformat-xml <!--整合web模块--> <dependency> <groupId>org.springframewo ...
- 文心一言 VS 讯飞星火 VS chatgpt (107)-- 算法导论10.1 5题
五.用go语言,栈插入和删除元素只能在同一端进行,队列的插入操作和删除操作分别在两端进行,与它们不同的,有一种双端队列(deque),其插入和删除操作都可以在两端进行.写出4个时间均为 O(1)的过程 ...