如何获取/生成现有配置单元表的create语句?

ccrfmcuu  于 2022-09-27  发布在  Hive
关注(0)|答案(4)|浏览(143)

假设您在Hive中已经有了“table”,有没有像其他数据库一样的快速方法来获取该表的“CREATE”语句?

q8l4jmvw

q8l4jmvw1#

从Hive 0.10开始,此patch-967实现SHOW CREATE TABLE,它“显示创建给定表的e1d1e语句,或创建给定视图的e1c2d1e声明。”
用法:

SHOW CREATE TABLE myTable;
rnmwe5a2

rnmwe5a22#

为配置单元数据库中的所有表生成Create table DDL并导出到文本文件以便稍后运行的步骤:

步骤1)

创建一个包含以下内容的.sh文件,例如e1d1e


# !/bin/bash

rm -f tableNames.txt
rm -f HiveTableDDL.txt
hive -e "use $1; show tables;" > tableNames.txt  
wait
cat tableNames.txt |while read LINE
   do
   hive -e "use $1;show create table $LINE;" >>HiveTableDDL.txt
   echo  -e "\n" >> HiveTableDDL.txt
   done
rm -f tableNames.txt
echo "Table DDL generated"

步骤2)

通过将“db name”作为paramanter传递来运行上述shell脚本

>bash hive_table_dd.sh <<databasename>>

输出:
数据库的所有创建表语句都将写入HiveTableDDL.txt

wixjitnu

wixjitnu3#

描述格式化/扩展将显示配置单元中表格的数据定义

hive> describe Formatted dbname.tablename;
fivyi3re

fivyi3re4#


# !/bin/bash

for DB in `beeline --showHeader=false --outputformat=tsv2 -e "show databases;"` 
do
for Tab in `beeline --showHeader=false --outputformat=tsv2 -e "use $DB; show tables;"` 
do 
beeline --showHeader=false --outputformat=tsv2 -e "show create table $DB.$Tab;" >$DB.$Tab.hql
done
done

相关问题