Hive 蜂巢中的有序观测

Hive 蜂巢中的有序观测,hive,Hive,在HIVE中,我们有order by、Distribut by、sort by和cluster by来排列记录 排序依据:此处,所有映射器的o/p仅传递给一个减速器,减速器执行排序。当我们打印最终的数据集时,我们看到它是按给定的列排序的 分发者:运行映射程序后,结果按给定列进行散列,并传递到不同的还原器中。 排序依据:它在单个缩减器中对观察结果进行排序。因此,为了实现排序,我们必须调用distribute by,然后再调用sort by 群集依据:它将“分发依据”和“排序依据”包装在一起 当我们

在HIVE中,我们有order by、Distribut by、sort by和cluster by来排列记录

排序依据:此处,所有映射器的o/p仅传递给一个减速器,减速器执行排序。当我们打印最终的数据集时,我们看到它是按给定的列排序的

分发者:运行映射程序后,结果按给定列进行散列,并传递到不同的还原器中。 排序依据:它在单个缩减器中对观察结果进行排序。因此,为了实现排序,我们必须调用distribute by,然后再调用sort by

群集依据:它将“分发依据”和“排序依据”包装在一起

当我们使用上述任何方法(order by/distribute by&sort by/cluster by)打印查询结果时,我看到整个数据集是按给定列排序的。 所以我知道,当我们在控制台中打印结果时,即使是distribute by&sort by或cluster by,所有还原器的输出文件都会被读取并传递到单个还原器和 分类;然后打印输出

只有在保存查询输出时,order by才会将其保存在单个输出中,而其他两个输出会将结果保存在多个文件中(取决于运行的还原程序的数量)

我的理解正确吗


谢谢

能否请您提供计划+执行日志,确认它是在多个减速机之间分发的,然后这确实是在distribute+sort的情况下最后一个单一减速机订购?感谢您调查我的问题。我实际上在我的笔记本电脑上练习,那里没有大桌子。我正在阅读许多日志/门户,希望确认我对所有条款的理解。谢谢