Update Hive数据查询详解.md

This commit is contained in:
heibaiying 2020-03-04 16:14:14 +08:00 committed by GitHub
parent ac7e59ce87
commit 89ad4cc4ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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 上处理