0

数値の範囲に基づいて、ハイブの外部テーブルを分割したいと考えています。1 から 100 までの数字を 1 つのパーティションに割り当てます。ハイブでこれを行うことは可能ですか?

4

1 に答える 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 に答える