【问题标题】:Hive- Table Data to Key/ Value PairsHive- 表数据到键/值对
【发布时间】:2018-07-24 14:46:11
【问题描述】:

我一直想知道 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

我没有在网上找到任何关于此的资源,所以我不确定我是否正确。有人可以帮我澄清一下吗?

另外,如果我做了任何不正确的假设(我怀疑很多),请告诉我

【问题讨论】:

  • 我在您的查询中添加了详细信息。请检查并告诉我。

标签: hive mapreduce hiveql key-value


【解决方案1】:

Hive 执行引擎会生成详细的计划来运行 mapreduce。该计划包括所有细节,如

  • mapreduce 作业数
  • 每个 map-reduce 的键值和连接条件。

只需在 hive 提示符下执行以下命令,并通过计划了解 mapreduce 中的键值。

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

还必须查看EXPLAIN EXTENDEDa sample analysis of explain output

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多