HIVESQL数据排序问题

今天面试被问到一个问题,hive数仓中,原表数据量很大,无法全局排序的情况下,如何取出金额最大的十条?

  1. 如果不要求数据绝对精准,hive中有一些近似查询函数,带有approx前缀或者后缀,可以朝这个方向考虑
  2. "无法全局排序",但他没说是不是可以分片排序。比如,可以把原数据拆成N份,每份分别进行排序,每份都取前10条,获得10N条的记录,然后再针对这10N条的数据排序取前十。