我一直在想MapReduce是如何为蜂巢工作的。更具体地说,我想了解表中的数据是如何转换成键值对的。
我有一个表,比如说,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
我没有在网上找到任何关于这方面的资源,所以我不确定我是否正确。有人能帮我澄清一下吗?
此外,如果我做了错误的假设(我怀疑有很多),请告诉我。
发布于 2018-03-07 08:04:15
Hive执行引擎确实生成了运行mapreduce的详细计划。这个计划包括所有的细节,如
只需在hive提示符上执行以下命令,然后遍历计划,以理解mapreduce中的键值。
explain SELECT id, name, department, count(department) FROM emp_table GROUP BY department;
还必须看到EXPLAIN EXTENDED
和解释输出的样本分析。
https://stackoverflow.com/questions/48780228
复制相似问题