使用beeline时,避免在列名中打印表名

Kon*_*rad 5 sql select hive beeline

在beeline中使用hive时使用简单select查询我想在列名中返回没有表名的表作为默认值.

数据

关于简单表(TutorialsPoint)的示例:

CREATE TABLE IF NOT EXISTS employee ( eid int, name String,
salary String, destination String)
COMMENT 'Employee details'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
Run Code Online (Sandbox Code Playgroud)

SELECT查询返回:

SELECT * FROM employee;
+---------------+----------------+------------------+-----------------------+--+
| employee.eid  | employee.name  | employee.salary  | employee.destination  |
+---------------+----------------+------------------+-----------------------+--+
+---------------+----------------+------------------+-----------------------+--+
Run Code Online (Sandbox Code Playgroud)

期望的结果

使用以下方法可以获得所需的结果AS:

SELECT eid AS eid, name AS name, salary AS salary, 
       destination AS destination FROM employee;

+------+-------+---------+--------------+--+
| eid  | name  | salary  | destination  |
+------+-------+---------+--------------+--+
+------+-------+---------+--------------+--+
Run Code Online (Sandbox Code Playgroud)

问题

我想避免AS每次运行select查询时输入并返回没有列名中的表名作为默认行为的结果.

Dav*_*itz 11

set hive.resultset.use.unique.column.names=false

配置属性

演示

hive> create table t (i int,j int,k int);
hive> select * from t;
Run Code Online (Sandbox Code Playgroud)
t.i t.j t.k
Run Code Online (Sandbox Code Playgroud)
hive> set hive.resultset.use.unique.column.names=false;
hive> select * from t;
Run Code Online (Sandbox Code Playgroud)
i   j   k
Run Code Online (Sandbox Code Playgroud)