1、通过hive对应的mysql数据库获取所有表及字段
这种结果看起来很方便,还可以依据需求自行筛选输出结果,但结构内容不全。mysql的连接参数在hive-site.xml文件中均可以找到。
SELECT tbs.`OWNER`,dbs.`NAME`,tbs.TBL_NAME,cv.COLUMN_NAME,cv.TYPE_NAME
FROM hive.TBLS tbs
INNER JOIN hive.DBS dbs
ON dbs.DB_ID = tbs.DB_ID
INNER JOIN hive.COLUMNS_V2 cv
ON cv.CD_ID = tbs.TBL_ID;
2、通过脚本在服务器上导出DDL语句。
先得到表名数据。
hive -e "use test;show tables;" > tables.txt
导出DDL。
vim hive_table.sh
#!/bin/bash
cat tables.txt |while read eachline
do
hive -e "use test;show create table $eachline" >>tablesDDL.txt
echo ";" >