テーブルのサブセットで実行したい変換スクリプト(Rで書かれています)があります。私。いくつかの列の値ごとに1つずつ、実行するステップを少なくしたいと思います。テーブルのサブセットにHive変換スクリプトを実行します。
元の表に列{C1、C2、C3}があると仮定すると、変換はC1の異なる値で実行され、C2とC3が入力データとして渡され、結果としてC1の値とともに出力されます。
これを解決するためにHive DISTRIBUTE操作を見ていますが、正しい構文/機構を理解することはできません。例えば
、これは私のテーブルである場合:
C1,C2
a,1
a,2
b,1
b,2
b,3
私のスクリプトは、テーブルの各サブセットのためのC2の平均値を返し、C1は、その結果は次のようになります。
C1,D1
a,1.5
b,2
文法的に間違っている私がしたいと思うものの擬似コードです。 my_tableに列C1、C2があると仮定します。
from my_table
select
C1,
transform(
C2
)
using 'my_script.R'
distribute by C1
;
ありがとうございます。これは私のスクリプトがデータのサブセットでのみ実行されることを意味するものではないので、これが問題を解決するかどうかはわかりません。私はまだ 'a'行対 'b'行を明示的に処理する必要があります。私。私のスクリプトが単に実行中の平均を計算すると失敗します。 – yoni