hive-table数据到键/值对

83qze16e  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(305)

我一直在想mapreduce是如何为hive工作的。更具体地说,我想了解如何将表中的数据转换为键值对。
我有一个表,比如说,hdfs上有3个分区

emp_table
+---+---------------+---+----------+
| id|           name|age|department|
+---+---------------+---+----------+
|  1|   James Gordon| 30|  Homicide|
|  2| Harvey Bullock| 35|  Homicide|
|  3|Kristen Kringle| 28|   Records|
|  4|   Edward Nygma| 30| Forensics|
|  5|  Lee Thompkins| 31| Forensics|
+---+---------------+---+----------+

我对它进行了查询

SELECT id, name, department, count(department) FROM emp_table GROUP BY department;

如何将数据分解为键/值对?
我的理论是,关键是列名,值是特定列的值。

Key         Value
id          1, 2, 3, 4, 5
name        James Gordon, Harvey Bullock, Kristen Kringle, Edward Nygma, Lee Thompkins
department  Homicide, Homicide, Records, Forensics, Forensics

我还没有在网上找到任何关于这个的资料,所以我不确定我是否正确。有人能帮我澄清一下吗?
另外,如果我有任何不正确的假设,请告诉我(我怀疑有很多)

ee7vknir

ee7vknir1#

配置单元执行引擎生成运行mapreduce的详细计划。这个计划包括所有细节,如
mapreduce作业数
每个Map上的键值和联接条件减少。
只需在hive提示符下执行下面的命令并遍历计划,就可以理解mapreduce中的键值。

explain SELECT id, name, department, count(department) FROM emp_table GROUP BY department;

还必须看到 EXPLAIN EXTENDED 并对解释输出进行了样本分析。

相关问题