【问题标题】:How to get a query result into a key value form in HiveQL如何在 HiveQL 中将查询结果转换为键值形式
【发布时间】:2018-05-28 11:01:42
【问题描述】:

我尝试了不同的方法,但都没有成功。我有以下问题,如果有人可以帮助我,将不胜感激。

我从一个视图中获取数十亿条记录的数据,用于不同的度量

一)

| s_c_m1 | s_c_m2 | s_c_m3 | s_c_m4 | s_p_m1 | s_p_m2 | s_p_m3 | s_p_m4 |
|--------+--------+--------+--------+--------+--------+--------+--------|
|   0    |   1    |   2    |   3    |   4    |   5    |   6    |   7    |
|   1    |   2    |   3    |   4    |   5    |   6    |   7    |   8    |
|   2    |   3    |   4    |   5    |   6    |   7    |   8    |   9    |
|--------+--------+--------+--------+--------+--------+--------+--------|

然后我需要按每个度量对其进行汇总。这么长这么好。我想通了。

B)

| s_c_m1 | s_c_m2 | s_c_m3 | s_c_m4 | s_p_m1 | s_p_m2 | s_p_m3 | s_p_m4 |
|--------+--------+--------+--------+--------+--------+--------+--------|
|   3    |   6    |   9    |   12   |   15   |   18   |   21   |   24   |
|--------+--------+--------+--------+--------+--------+--------+--------|

那我需要得到如下形式的数据。我需要把它变成一个键值形式。

C)

| measure |  c |  p | 
|---------+----+----|
|    m1   |  3 | 15 | 
|    m2   |  6 | 18 | 
|    m3   |  9 | 21 | 
|    m4   | 12 | 24 | 
|---------+----+----|

B) 的前 4 列将在 C) 中形成第一列,后 4 列将形成另一列。

有没有一种优雅的方式,可以轻松维护?完美的解决方案是,如果在 A) 和 B) 中引入另一种措施,则无需修改,它会自动获取差异。

我知道如何在 SqlServer 和 Postgres 中完成这项工作,但在这里我错过了经验。

【问题讨论】:

标签: bigdata etl hiveql


【解决方案1】:

我认为您应该为此使用地图

【讨论】:

猜你喜欢
  • 2013-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-09
  • 2021-08-28
  • 2023-03-09
相关资源
最近更新 更多