我知道表中的SELECT是由TableScanOperator实现的,它基本上完成了转发行的工作。 如果我假设hive表中的记录是按插入顺序编写和读取的,那么我有一个很容易解决的用例。 当我选择时,我会按照它们插入的顺序从表中获取记录吗?
答案 0 :(得分:1)
不,这不一定正确。 Hive不保证它扫描文件的顺序。实际上,每个映射器按顺序读取文件的单个块,但由于所有这些映射器可能并行运行,它们可以按任何顺序完成并将结果发送回去任何订单。
您是否有理由不使用“order by”条款?您还可以添加一列“insert_ts”或其他内容,并在插入时将其设置为当前时间,如果您没有提供自然排序的列。