数値の範囲に基づいて、ハイブの外部テーブルを分割したいと考えています。1 から 100 までの数字を 1 つのパーティションに割り当てます。ハイブでこれを行うことは可能ですか?
質問する
605 次
1 に答える
1
ここでは、RANGEOFNUMS などのフィールドで分割された外部テーブルにデータをロードするレコードを含むテーブルがあると想定しています。
ここで、名前と値の列を持つ testtable というテーブルがあるとします。内容はまるで
India,1
India,2
India,3
India,3
India,4
India,10
India,11
India,12
India,13
India,14
ここで、RANGEOFNUMS などのパーティション列とともにいくつかの列を持つ testext という外部テーブルがあるとします。
今できることは一つ、
insert into table testext partition(rangeofnums="your value")
select * from testtable where value>=1 and value<=5;
このようにして、値 1 から 5 を持つ testtable のすべてのレコードが、外部テーブルの 1 つのパーティションに入ります。
シナリオはあくまでも私の想定です。これがあなたのシナリオでない場合はコメントしてください。
アチュート
于 2013-07-18T08:19:26.347 に答える