2015-08-03 101 views
2

我正试图解决在配置单元查询执行后创建的一个问题。配置单元 - 如何从结果集中删除列标题

一个名为'stock_data'的新表,它持有股票价格,股票代码和所有其他细节。

我有一个tsv文件(制表符分隔文件),并使用'load data local inpath'命令加载数据库表。

TSV文件中有列标题,如 'stock_name', 'STOCK_SYMBOL' ....

现在,当我想显示的股票代码,并使用下面的查询数数有: -

select stock_symbol,count(*) from stocks group by stock_symbol; 

输出加载列标题

XOM 500 
XRX 500 
XTO 496 
YPF 500 
YUM 500 
YZC 478 
ZAP 494 
ZF 494 
stock_symbol 1 

Time taken: 20.576 seconds, Fetched: 1735 row(s) 

我的问题是: -

如何从我的结果集中隐藏或删除'stock_symbol 1'(最后一行)?

我试图运行之前,按照以下命令来使用: -

set hive.cli.print.header=false; 

并没有为我工作...

谁能帮我换相同..

谢谢..

+0

您中央社使用where条件。 –

回答

0

这个问题似乎是你的数据与头部一起导入为数据行。我可能会建议您刚才删除值:

delete from stocks 
    where stock_symbol = 'stock_symbol'; 

否则,你可以修改你的查询和使用WHERE将它排除在外:

select stock_symbol, count(*) 
from stocks 
where stock_symbol <> 'stock_symbol' 
group by stock_symbol; 
0

尝试从shell终端下面的命令

hive -s -e'选择stock_symbol,通过stock_symbol从股票组中计数(*);' |尾-1

注:使用尾部或头部命令终止的最后一行...

0

相信的时候你有所有有头输入转储,并且那是它在算什么反映。

请检查 Skip first line of csv while loading in hive table

的答案已经被共享的链接:)

样品例如meantion也较早

CREATE TABLE temp 
    ( 
    name STRING, 
    id INT 
) row format delimited fields terminated BY '\t' lines terminated BY '\n' 
tblproperties("skip.header.line.count"="1"); 
+0

是的你是正确的..在插入时,标题存在于tsv文件内。现在我试图运行查询而不显示输出中的标题。 – saikat123