考虑我在hive表中有100行,如何获取30行,这些行在50到80之间?我记得在其他语言中有很少的命令/查询,Hive中是否有任何命令/查询。
感谢。
答案 0 :(得分:1)
SELECT *
FROM
(SELECT id, aaa, bbb, ccc,
ROW_NUMBER() OVER (ORDER BY id) rank__
FROM mydb.mytable
) windowed__
WHERE rank__ BETWEEN 51 AND 80
ORDER BY rank__
如果你有一个" id"那就可以了。在你的表中(即一些唯一的密钥,或唯一的密钥组合)。
但如果你只是为了分页你的结果而多次运行,性能将会非常糟糕 - 这意味着每次都有一个完整的MapReduce作业。