繁体   English   中英

使用Hive,Tez和offset执行查询

[英]Executing query with Hive, Tez and offset

我正在尝试在蜂巢中执行偏移查询,在这里我试图排除特定的记录,但始终出现以下错误:

查询:

select * from sample order by id limit 1 OFFSET 1;  

错误:

FAILED: ParseException line 1:41 missing EOF at 'OFFSET' near '1'  

我尝试删除表并按照SO帖子中的建议再次创建它,但仍然遇到相同的错误。 另外,我已经在蜂巢中设置了TEZ engine以加快数据处理速度,但是上述查询启动了map reduce作业。
为什么会这样呢? 当我执行另一个查询时,它会via TEZ engine给我直接结果。
有人能解释这种怪异行为以及解决我的问题吗?

环境:

1) Cloudera 5.12  
2) Hive 1.1.0-cdh5.12.0  

不清楚为什么标记了MySQL,但是OFFSET作为HiveQL SELECT语法的一部分不存在。

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Select

您可以在LIMIT子句中包含OFFSET子句,以生成分页结果集,例如11-20。 始终将此子句与ORDER BY(这样可以清楚地知道哪个项目应该是第一个,第二个,等等)和LIMIT(限制)一起使用,以便结果集覆盖有界范围,例如项目0-9、100-199 , 等等)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM