2016-12-08 4 views
1

入力文字列がユーザーから複数のパラメーターとして取得されているとします。アレイを割り当て、ハイブに配列のサイズを見つける方法は?

例えば

hive -f demo.txt -hiveconf Name="a,b,c,d" 

私は、Split関数を使用して文字列を分割することによって、WHERE句で、これらの値(名前)を渡したいです。

すなわち

set a=SPLIT('${hiveconf:Name}',','); 

しかしSPLITの出力がアレイです。

私の質問はどのようにWHERE句で配列を割り当てることができますか?

WHERE Name IN (${hiveconf:a}[0:?]) 

ありがとう。

答えて

0

あなたはarray_contains UDFを使用する必要があります。

WHERE array_contains(SPLIT('${hiveconf:Name}',','),'someValue') 
+0

おかげでこのような何かを試すことができます...私はこれを試みたが、動作していない。 – Amit

0

あなたは答えの名前を( '' SPLIT( '1,2,3'、選択))

関連する問題