【发布时间】:2013-08-10 15:27:56
【问题描述】:
假设您在 Hive 中已经有“表”,是否有像其他数据库一样的快速方法来获取该表的“CREATE”语句?
【问题讨论】:
假设您在 Hive 中已经有“表”,是否有像其他数据库一样的快速方法来获取该表的“CREATE”语句?
【问题讨论】:
As of Hive 0.10 这个patch-967 实现了SHOW CREATE TABLE,它“显示了创建给定表的CREATE TABLE 语句,或创建给定视图的CREATE VIEW 语句。”
用法:
SHOW CREATE TABLE myTable;
【讨论】:
为 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
【讨论】:
Describe Formatted/Extended 将显示 hive 中表的数据定义
hive> describe Formatted dbname.tablename;
【讨论】: