在hive表中获取编号的行

时间:2016-08-23 09:29:20

标签: hive

考虑我在hive表中有100行,如何获取30行,这些行在50到80之间?我记得在其他语言中有很少的命令/查询,Hive中是否有任何命令/查询。

感谢。

1 个答案:

答案 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作业。