2017-03-19 17 views
0

ハイブでは、クエリの結果を変数に格納する方法は? 私は以下のコマンドを試しました: SET hivevar:a =(クエリ);クエリの結果をハイブ変数に格納

結果の代わりに、クエリ自体が格納されています。 結果を保存する方法はありますか?

答えて

0

ハイブ変数は、テキストの置換メカニズムに過ぎません。
置換は解析と実行の前に行われます。

hive> set hivevar:v1=se; 
hive> set hivevar:v2=l; 
hive> set hivevar:v3=ec; 
hive> set hivevar:v4=t 1+; 
hive> set hivevar:v5=2; 
hive> ${hivevar:v1}${hivevar:v2}${hivevar:v3}${hivevar:v4}${hivevar:v5}; 
OK 
3 

別のクエリへの引数としてクエリ結果を渡すことは、シェルから実行できます。 -

hive --hivevar x=$(hive -e 'select 1+2') -e 'select ${hivevar:x}*100' 
+0

私は検証する必要があるテーブルを持っています..検証の後、有効なレコードの数がしきい値を超えている場合、テーブルは分析に使用されます。 elseテーブルは拒否されます。 元のテーブルと有効なテーブルのレコードを数えることを考えました。 次に、差異をしきい値と比較します。 ハイブでどうすればいいですか? – Parameshwar

+0

この質問の回答を受け入れ、新しい質問を開きます。 P.S.このシナリオは明確ではありません。私はあなたが2つのテーブルまたは1つのテーブルをあらかじめ定義されたしきい値と比較しているのか理解していません。(ここで答えないでください。 –

関連する問題