假设您已经在 Hive 中有“表”,是否有像其他数据库一样的快速方法来获取该表的“CREATE”语句?
问问题
185157 次
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 回答