场景:
- 导出hive视图语句
- 数据迁移使用
可以连接hive元数据库,使用下面的方法
一、编写视图生成脚本
aa.sql hive原数据库默认为:metastore
-- 删除视图脚本
SELECT CONCAT("DROP VIEW IF EXISTS ",T2.NAME ,".",T1.TBL_NAME ," ;") as drop_sql
from metastore.TBLS T1 , metastore.DBS T2
WHERE T1.DB_ID =T2.DB_ID
AND T1.TBL_TYPE = 'VIRTUAL_VIEW' ;
-- 创建视图脚本
SELECT CONCAT("CREATE VIEW ",T2.NAME ,".",T1.TBL_NAME ," AS " , T1.VIEW_ORIGINAL_TEXT ," ;") as create_sql
from metastore.TBLS T1 , metastore.DBS T2
WHERE T1.DB_ID =T2.DB_ID
AND T1.TBL_TYPE = 'VIRTUAL_VIEW' ;
二、执行脚本
mysql -h 192.168.11.110 -utest -ptest < aa.sql >output.txt
效果参考步骤一
- mysql执行 sql命令 导出为 txt文件
mysql -u [username] -p[password] [database_name] -e "SELECT * FROM [table_name];" > output.txt
- mysql执行 sql文件 导出为 txt文件
mysql -u [username] -p[password] [database_name] < script.sql > output.txt
补充:
- TBLS:存储Hive表、视图、索引表的基本信息。
- DBS:存储Hive中所有数据库的基本信息。