我hive -f执行sql文件
文件写
use a1;show tables;
use a2;
我是这样子统计的,但是输出文件并不体现每张表对应哪个库,请问怎么办?有没有办法echo或者print什么的?
hive怎么统计每个库每个表?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
7条回答 默认 最新
阿里嘎多学长 2025-07-01 10:00关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
Hive统计每个库每个表
你可以使用以下SQL语句来统计每个库每个表:
USE a1; SHOW TABLES; SELECT TABLE_NAME, TABLE_TYPE, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'a1';然后,使用以下SQL语句来统计每个库每个表:
USE a2; SHOW TABLES; SELECT TABLE_NAME, TABLE_TYPE, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'a2';这样,你可以在每个库中统计每个表的信息。
如果你想将这些信息写入到一个文件中,可以使用以下SQL语句:
USE a1; SHOW TABLES; SELECT TABLE_NAME, TABLE_TYPE, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'a1' INTO OUTFILE '/path/to/file1.txt'; USE a2; SHOW TABLES; SELECT TABLE_NAME, TABLE_TYPE, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'a2' INTO OUTFILE '/path/to/file2.txt';这样,你可以将每个库的表信息写入到不同的文件中。
如果你想使用一个单独的SQL文件来统计每个库每个表,可以使用以下方法:
- 创建一个新的SQL文件,例如
stat_tables.sql。 - 在文件中添加以下内容:
USE a1; SHOW TABLES; SELECT TABLE_NAME, TABLE_TYPE, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'a1'; USE a2; SHOW TABLES; SELECT TABLE_NAME, TABLE_TYPE, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'a2';- 使用 Hive 命令执行该文件:
hive -f stat_tables.sql这样,你可以将每个库的表信息写入到一个文件中。
注意:在使用
INTO OUTFILE语句时,需要确保文件路径正确,并且需要在 Hive 配置文件中设置hive.exec.scratchdir选项来指定文件的存储路径。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报- 创建一个新的SQL文件,例如