2016-09-26 4 views
1

既存のパーティションをマージして1つのパーティションにする方法。 例:year = 2011、year = 2012、year = 2013、year = 2014のようなYearカラムを持っています。HIVE内に既存のパーティションをマージする

私の要件は、2011年から2013年のパーティションのパーティションをマージすることです。 2013年と2014年のパーティションは2つしかできません。

助けてください。

よろしく、 Manojさん

答えて

1

1)新しいターゲット表を作成

2)動的パーティションローディングとターゲット表にデータを挿入:

insert overwrite table partition (partition_year) 
select col1, col2 ..., case when year between 2011 and 2013 then 2013 
          when year >=2014 then 2014 
         end as partition_year from source_table 

3)がドロップSOURCE_TABLE

1

場合あなたのパーティショニングコラムyearはSTRINGとして定義されています。その場合、あなたはちょうど...

  1. .../year=History/
  2. は今
空のパーティションをドロップし、新しいディレクトリに(例えば) year=History のためにこのような.../year=2011/などのディレクトリから
  • 移動残酷データファイルを新しいパーティションを作成します
  • 関連する問題