2017-05-02 15 views
1

テーブルはハイブ以下のスキーマを持っています。私は、aとbが等しいすべてのidを選択したい、どのようにするのですか?
ハイブには、マップデータ型の比較をサポートするビルトイン機能がありますか?ハイブの複雑なデータ型の列を比較する方法

表DDL:

select id from test where a=b; 

引数の型の不一致 ''::EQUALの第一引数に等しい演算子のみプリミティブ型をサポートしていますので、

CREATE TABLE test(id string, 
a map<int,string>, 
b map<int,string>) 

SQL下記のザ・エラーがスローされます はプリミティブ型ですが、マップがあります。


注:私は自分自身のUDFを使用してこれを達成することができますが、そのような操作をサポートするためにハイブが組み込み機能を提供しているかどうかを調べていますか?

答えて

2
select id from test where a in (b); 
+0

ありがとうございました。あなたはハイブのin a(b)が内部的に翻訳する方法を説明してください。 –

+1

私は質問を得ない。これは基本的に 'x in(1,2,3)' –

+0

と違いはありません。ありがとう –

関連する問題