106

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

4

3 回答 3

229

从 Hive 0.10 开始,补丁 967实现SHOW CREATE TABLE了“显示CREATE TABLE创建给定表的CREATE VIEW语句或创建给定视图的语句”。

用法:

SHOW CREATE TABLE myTable;
于 2013-08-09T07:08:19.240 回答
33

为 Hive 数据库中的所有表生成创建表 DDL 并导出到文本文件以稍后运行的步骤:

步骤 1)
创建一个.sh包含以下内容的文件,比如说hive_table_ddl.sh

#!/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' 作为参数来运行上面的 shell 脚本

>bash hive_table_dd.sh <<databasename>>

输出 :

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

于 2016-08-03T07:12:30.890 回答
2

Describe Formatted/Extended 将显示表在 hive 中的数据定义

hive> describe Formatted dbname.tablename;
于 2013-08-09T06:39:26.883 回答