首页 > 解决方案 > 在 Hive 中选择 database.table.column

问题描述

是否可以使用

SELECT DB.TABLE.COLUMN from DB.TABLE

在蜂巢?

我知道可以别名DB.TABLE如下

SELECT T1.COLUMN FROM DB.TABLE AS T1

但是,在 Hive 中是否有任何方法可以选择由其数据库和表名完全限定的列,如上面的第一个查询所示?我以前在 MySQL 中做过这个,但我不知道是否有办法让 Hive 以这种方式工作。

标签: hive

解决方案


不,这在 Hive 中是不可能的,你会得到一个例外:

SemanticException [Error 10004]: Line 1:7 Invalid table alias or column reference 'DB': (possible column names are: col)

你的第二个选择句是有效的。要指定数据库,请使用数据库名称限定表名(从 Hive 0.7 开始的“db_name.table_name”)或在查询语句之前发出 USE 语句(从 Hive 0.6 开始)。

在此处查看语言手册:LanguageManual+Select


推荐阅读