Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 蜂巢按vs分配,不按分配_Sorting_Hadoop_Hive_Distribute - Fatal编程技术网

Sorting 蜂巢按vs分配,不按分配

Sorting 蜂巢按vs分配,不按分配,sorting,hadoop,hive,distribute,Sorting,Hadoop,Hive,Distribute,这听起来很基本,但这个问题困扰了我一段时间 假设我有以下问题 SELECT s.ymd, s.symbol, s.price_close FROM stocks s SORT BY s.symbol ASC; 在这种情况下,如果数据在符号列上具有良好的分布,则有必要基于符号列进行分布,以便所有还原器都能很好地共享数据;将查询更改为以下将提供更好的性能 SELECT s.ymd, s.symbol, s.price_close FROM stocks s DISTRIBUTE BY s.symb

这听起来很基本,但这个问题困扰了我一段时间

假设我有以下问题

SELECT s.ymd, s.symbol, s.price_close FROM stocks s
SORT BY s.symbol ASC;
在这种情况下,如果数据在符号列上具有良好的分布,则有必要基于符号列进行分布,以便所有还原器都能很好地共享数据;将查询更改为以下将提供更好的性能

SELECT s.ymd, s.symbol, s.price_close FROM stocks s
DISTRIBUTE BY s.symbol
SORT BY s.symbol ASC, s.ymd ASC;

如果我没有指定Distributy子句,会产生什么影响?在第一个查询中选择的默认映射输出键列是什么,即它分布在哪个列上?

详细信息可用。我想这就是你想要的答案。
我自己找到了答案。使用排序方式时,映射器的输出键不是应用排序方式的列。键可以是记录的文件偏移量。
减速机的输出按减速机排序,但相同的“按列排序”值可以出现在多个减速机的输出中。这意味着减速器的输出之间存在重叠。Distribute by确保根据Distribute by列在减速器之间拆分数据,从而确保相同的列值传递给相同的减速器,从而传递给相同的输出文件。

问题更多地在于未指定Distribute by列时会发生什么。减速器的关键是什么?