[英]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.