如何用Presto和Hive查询指定表指定列的数据类型?
查询指定数据表单列数据类型的Presto与Hive语句
Presto 实现方式
直接查询information_schema系统视图即可,替换占位符为你实际的库、表、列名:
SELECT data_type FROM information_schema.columns WHERE table_catalog = '你的库名' AND table_name = '你的表名' AND column_name = '目标列名';
如果你的Presto集群对应多套数据源,可额外增加table_schema过滤条件缩小查询范围。
Hive 实现方式
分两种场景使用:
- 快速查询单表列类型,用
DESCRIBE简写命令即可:
DESCRIBE 库名.表名 目标列名;
- 批量查询、或者需要把列类型作为查询结果做二次处理的场景,可以查询系统视图(仅支持Hive 2.3.0及以上版本):
SELECT data_type FROM information_schema.columns WHERE table_schema = '你的库名' AND table_name = '你的表名' AND column_name = '目标列名';
低版本Hive环境只能使用第一种DESCRIBE方式。
内容的提问来源于stack exchange,提问作者Di Ye
相关产品推荐
相关产品推荐

