1

我试图在我试图排除特定记录的配置单元中执行偏移查询,但总是得到以下错误:

询问:

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

错误:

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

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

环境:

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

2 回答 2

0

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

于 2017-12-27T09:19:43.720 回答
0

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

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

于 2017-12-16T16:28:38.467 回答