Update Hive数据查询详解.md
This commit is contained in:
		| @@ -194,9 +194,7 @@ SELECT deptno,SUM(sal) FROM emp GROUP BY deptno HAVING SUM(sal)>9000; | |||||||
|  |  | ||||||
| ### 2.9 DISTRIBUTE BY | ### 2.9 DISTRIBUTE BY | ||||||
|  |  | ||||||
| 默认情况下,MapReduce 程序会对 Map 输出结果的 Key 值进行散列,并均匀分发到所有 Reducer 上。如果想要把具有相同 Key 值的数据分发到同一个 Reducer 进行处理,这就需要使用 DISTRIBUTE BY 字句。 | 如果想要把具有相同 Key 值的数据分发到同一个 Reducer 进行处理,这就需要使用 DISTRIBUTE BY 字句。需要注意的是,DISTRIBUTE BY 虽然能保证具有相同 Key 值的数据分发到同一个 Reducer,但是不能保证数据在 Reducer 上是有序的。情况如下: | ||||||
|  |  | ||||||
| 需要注意的是,DISTRIBUTE BY 虽然能保证具有相同 Key 值的数据分发到同一个 Reducer,但是不能保证数据在 Reducer 上是有序的。情况如下: |  | ||||||
|  |  | ||||||
| 把以下 5 个数据发送到两个 Reducer 上进行处理: | 把以下 5 个数据发送到两个 Reducer 上进行处理: | ||||||
|  |  | ||||||
| @@ -224,7 +222,7 @@ k4 | |||||||
| k3 | k3 | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| 如果想让 Reducer 上的数据时有序的,可以结合 `SORT BY` 使用 (示例如下),或者使用下面我们将要介绍的 CLUSTER BY。 | 如果想让 Reducer 上的数据是有序的,可以结合 `SORT BY` 使用 (示例如下),或者使用下面我们将要介绍的 CLUSTER BY。 | ||||||
|  |  | ||||||
| ```sql | ```sql | ||||||
| -- 将数据按照部门分发到对应的 Reducer 上处理 | -- 将数据按照部门分发到对应的 Reducer 上处理 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user