0

ハイブでは、特定の列のデータを取得して、それを新しい列に分割しようとしています。次に、いくつかの値を含む列を移動し、それらを新しい列に移動したいと考えています。これが明確でない場合は、ここに私が意味するものがあります

テーブル名: テーブル

前:

名前 日付 ラベル 値


名前1 日付1 ラベル1 1


名前2 日付2 ラベル2 2


名前3 日付3 ラベル3 3


名前4 日付4 ラベル4 4


name5 date5 label5 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 に、というように... すべての空白は明らかに null になります。

また、これが難しすぎたり、悪い考えである場合は、別のテーブルに入れることも考えていました. これらの各テーブルでは、列は名前、日付、およびラベル列の各値になります。その最後の列の下に値があります。

動的パーティショニングと動的結合を使用してみましたが、うまくいかないようです助けてください!! 前もって感謝します。

4

1 に答える 1

1

クロス集計をしようとしていますか? その場合は、関数を提供するPostgreSQL tablefunccontrib モジュールを参照してください。そこにある例を参照してください。crosstab

これを使用するには、Hive が何であれ、ネイティブの PostgreSQL 関数を呼び出せる必要があります。

于 2012-08-22T04:04:11.780 に答える