2016-10-26 5 views
0

のOracleクエリへのOracleクエリを変換しますハイブ

select col_name INTO XYZ from table_name where <conditions1 and condition2....> ---これは私のテーブルが、ちょうどフラット変数ではない変数XYZ、にクエリの値を取得している[Oracleのクエリは、単一の値を返しますXYZに入れる]。このXYZは比較のために他の関数によって消費されます。 ABC> XYZ(ABCは変数名)のような関係演算子を使用した照会で使用されます。

ハイブでcreate table XYZ..as ..節を使用してこれを行うことができましたが、ハイブの関係演算子(ABC> XYZ)でこれを使用することはできません。

私のようなシェルスクリプトを介して可変XYZを移入しようとした:> A.TXT(A.TXTに出力を移動)

温度=猫a.txt(今 ハイブ-e 'のどこTABLE_NAMEからCOL_NAMEを選択します'私は(今、私はハイブ-シェルでこの変数を設定して、$ {hivevar:XYZ}としてそれを使用しようとしています)

hive -e 'use database ; set hivevar:XYZ=$temp'ここTEMPの値を取得することができる午前ここでの問題はtempある )はbashのシェルでありますこのコマンドを実行すると、hive-shellに行き、tempをハイブで検索します。私は、ハイブでXYZ = tempに設定されたbashでtempを得ることができるような方法はありますか?

P.S:hiveconfで試したこともありますが、hivevarと同じ問題です。

答えて

0

この特定のユースケースでは、あなたが

echo 'use database ; set hivevar:XYZ=$temp' > initFile 
hive -i initFile 

hive -iを実行することができ、初期化ファイル内のコマンドを実行して、ハイブ・シェルを開きます。