这些我都知道,
要获取表中的列名,我们可以触发:
show columns in <database>.<table_name>
要获取表的描述(包括 column_name、column_type 和许多其他详细信息):
describe [formatted] <database>.<table_name>
我知道我可以使用上面的查询并过滤结果来获取列名和类型。但我想知道是否有任何直接命令来获取列名和类型,例如select columns, column_type ...
?
这些我都知道,
要获取表中的列名,我们可以触发:
show columns in <database>.<table_name>
要获取表的描述(包括 column_name、column_type 和许多其他详细信息):
describe [formatted] <database>.<table_name>
我知道我可以使用上面的查询并过滤结果来获取列名和类型。但我想知道是否有任何直接命令来获取列名和类型,例如select columns, column_type ...
?
在 HIVE 中,您可以使用:
DESCRIBE FORMATTED [DatabaseName].[TableName] [Column Name];
这为您提供了列数据类型和该列的一些统计信息。
DESCRIBE [DatabaseName].[TableName] [Column Name];
这只是为您提供数据类型和注释(如果可用于特定列)。
希望这可以帮助。
与传统的 RDBMS 不同,Hive 将元数据存储在单独的数据库中。在大多数情况下,它位于 MySQL 或 Postgres 中。如果您有权访问元存储数据库,则可以对表 TBLS 运行 SELECT 以获取有关表的详细信息,并使用 COLUMNS_V2 获取有关列的详细信息。