如何在Hive中按原始顺序选择行?

时间:2016-10-26 02:28:29

标签: hive

我想从具有确定数字的原始行中的mytable中选择行。 据我们所知,关键词是限制'将随机选择行。 mytable中的行是有序的。我只想按原来的顺序选择它们。例如,要选择10000行,即从第1行到第10000行。 怎么实现这个? 感谢。

2 个答案:

答案 0 :(得分:1)

尝试:

SET mapred.reduce.tasks = 1
SELECT * FROM ( 
    SELECT *, ROW_NUMBER() OVER () AS row_num
    FROM table ) table1 
SORT BY row_num LIMIT 10000

答案 1 :(得分:0)

你桌子上的排可能是有序但...... 正在并行读取表,从不同的映射器或缩减器返回的结果不是原始顺序。这就是为什么你应该知道定义"原始顺序"的规则。 如果您知道,则可以使用row_number()order by。例如:

select * from table order by ... limit 10000;