典明粥 2025-07-01 10:00 采纳率: 40%
浏览 6
已结题

hive怎么统计每个库每个表?

我hive -f执行sql文件
文件写
use a1;show tables;
use a2;
我是这样子统计的,但是输出文件并不体现每张表对应哪个库,请问怎么办?有没有办法echo或者print什么的?

  • 写回答

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文件来统计每个库每个表,可以使用以下方法:

    1. 创建一个新的SQL文件,例如 stat_tables.sql
    2. 在文件中添加以下内容:
    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';
    
    1. 使用 Hive 命令执行该文件:
    hive -f stat_tables.sql
    

    这样,你可以将每个库的表信息写入到一个文件中。

    注意:在使用 INTO OUTFILE 语句时,需要确保文件路径正确,并且需要在 Hive 配置文件中设置 hive.exec.scratchdir 选项来指定文件的存储路径。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 7月9日
  • 已采纳回答 7月1日
  • 创建了问题 7月1日