gpt4 book ai didi

sql - 查询以在IMPALA中一起显示所有列,表和模式名称

转载 作者:行者123 更新时间:2023-12-02 18:56:31 26 4
gpt4 key购买 nike

我想在一个查询中获取impala db的元数据。大概会像

SELECT columnname,tablename,schemaname from SYSTEM.INFO
有没有办法做到这一点?例如,我不想仅获取当前表的列;
SHOW COLUMN STATS db.table_name
此查询不是我的问题的答案。我想在一个查询中选择所有元数据。

最佳答案

impala-shell中,您可以执行以下命令:describe table_namedescribe formatted table_namedescribe database_nameEXPLAIN { select_query | ctas_stmt | insert_stmt }以及SHOW Statement,这是一种获取有关不同类型的Impala对象的信息的灵活方法。您可以点击此链接至Impala documentation SHOW statement
另一方面,有关架构对象的信息保存在metastore数据库中。该数据库在Impala和Hive之间共享。
特别是,Impala将表定义保存在称为MySQL的传统PostgreSQLmetastore数据库中,Hive保留了这种类型的数据库。因此,只要所有列都使用Impala支持的数据类型,文件格式和压缩编解码器,Impala就可以访问Hive定义或加载的表。
如果要一次性查询此信息,则必须查询MySQLPostgreSQLOracle等,这取决于您的具体情况。
例如,在我的情况下Impalametadata保留在MySQL中。

use metastore;
-- Database changed
SHOW tables;
+---------------------------+
| Tables_in_metastore |
+---------------------------+
| BUCKETING_COLS |
| CDS |
| COLUMNS_V2 |
| COMPACTION_QUEUE |
| COMPLETED_TXN_COMPONENTS |
| DATABASE_PARAMS |
| DBS |
.......
........
| TAB_COL_STATS |
| TBLS |
| TBL_COL_PRIVS |
| TBL_PRIVS |
| TXNS |
| TXN_COMPONENTS |
| TYPES |
| TYPE_FIELDS |
| VERSION |
+---------------------------+
54 rows in set (0.00 sec)

SELECT * FROM VERSION;

+--------+----------------+----------------------------+-------------------+
| VER_ID | SCHEMA_VERSION | VERSION_COMMENT | SCHEMA_VERSION_V2 |
+--------+----------------+----------------------------+-------------------+
| 1 | 1.1.0 | Hive release version 1.1.0 | 1.1.0-cdh5.12.0 |
+--------+----------------+----------------------------+-------------------+
1 row in set (0.00 sec)
希望这可以帮助。

关于sql - 查询以在IMPALA中一起显示所有列,表和模式名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62691328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com