0

在 hive 中,我试图获取特定列中的数据,然后将其拆分为新列。然后我想移动一个包含一些值的列并将它们移动到这些新列中。如果不清楚,这就是我的意思

表名:table

前:

名称 日期 标签 值


名称 1 日期 1 标签 1 1


名称2 日期2 标签2 2


名称3 日期3 标签3 3


名称4 日期4 标签4 4


名称5 日期5 标签5 5

后:

名称 日期 标签1 标签2 标签3 标签4 标签5


姓名 1 日期 1 1


名称2 日期2* * ** * ** * ** * * 2


name3 date3* * ** * ** * ** * ** * ** * ** * * 3


name4 date4* * ** * ** * ** * ** * ** * ** * ** * ** * 4


name5 date5* * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **** 5


值 1 将在列标签 1 中。值 2 将在列标签 2 中,等等......所有的空白显然都是空的。

此外,如果这太难或不是一个坏主意,我也在考虑将它们放入单独的表格中。在这些表中的每一个中,列将是名称、日期和标签列中的每个值。在最后一列下将是值。

我尝试过使用动态分区和加入,但它似乎不起作用请帮助!提前致谢。

4

1 回答 1

1

您是否正在尝试进行交叉制表?如果是这样,请参阅提供该功能的PostgreSQL tablefunccontrib 模块。请参阅那里的示例。crosstab

要使用它,您需要能够通过任何 Hive 调用本机 PostgreSQL 函数。

于 2012-08-22T04:04:11.780 回答