我正在尝试在hive中执行偏移查询,我试图排除特定记录,但总是得到以下错误:
查询:
select * from sample order by id limit 1 OFFSET 1;
错误:
FAILED: ParseException line 1:41 missing EOF at 'OFFSET' near '1'
我尝试按照SO帖子中的建议再次删除表并创建它,但仍然得到相同的错误。此外,我已在蜂巢中设置TEZ engine
以便更快地处理数据,但上述查询会启动地图减少作业
为什么会这样?当我执行另一个查询时,它会直接给我via TEZ engine
任何人都可以向我解释这种奇怪的行为,以及解决我的问题吗?
环境:
1) Cloudera 5.12
2) Hive 1.1.0-cdh5.12.0
答案 0 :(得分:0)
不清楚为什么标记MySQL,但t3
不存在作为HiveQL SELECT语法的一部分。
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Select
答案 1 :(得分:0)
您可以在OFFSET子句中包含LIMIT子句,以生成分页结果集,如11-20。 始终将此子句与ORDER BY结合使用(以便明确哪个项目应该是第一个,第二个,依此类推)和LIMIT(以便结果集覆盖有界范围,例如项目0-9,100-199等等)。