我在Hive工作了很长一段时间。请注意,我根本不使用Hue。我一直使用Hive shell,现在我得到了一个奇怪但有用的问题。
每当我们在Hive shell中执行查询时,我们都可以在屏幕上看到相关结果,但我们无法识别与数据对应的列名,除非我们执行" desc格式化table_name"或任何其他类似的命令,并向上/向下滚动屏幕,以使结果与表结构相匹配。我们最有可能这样做。
出于好奇,我想知道在我们执行基本查询时是否有任何方法可以打印列名和至少数据,例如" select * from table_name" ?
答案 0 :(得分:2)
打开配置单元会话后设置此属性
hive> set hive.cli.print.header=true;
这样它就会显示你的列名。
<强> 实施例 强>
hive> desc sales;
OK
col_name data_type comment
year string
month string
customer string
stateid string
productid string
qty string
billed string
hive> select * from sales;
OK
2011 1.2 A 2 1 2 8
2011 5.2 C 3 1 1 8
2011 2 B 1 2 1 2
2011 3 B 1 2 2 2
设置上述属性后
hive> set hive.cli.print.header=true;
hive> select * from sales;
OK
sales.year sales.month sales.customer sales.stateid sales.productid sales.qty sales.billed
2011 1.2 A 2 1 2 8
2011 5.2 C 3 1 1 8
2011 2 B 1 2 1 2
如果你想在每个列名之前删除表名,即销售。,那么设置以下属性
hive> set hive.resultset.use.unique.column.names=false;
hive> select * from sales;
OK
year month customer stateid productid qty billed
2011 1.2 A 2 1 2 8
2011 5.2 C 3 1 1 8
2011 2 B 1 2 1 2
(或)
作为永久性解决方案,您可以在 hive-site.xml 中找到并将此属性值更改为 true 。