2017-04-05 5 views
0

に私は次のようにハイブ上のクエリ実行しています:「<EOF>は、」サブクエリソースにハイブクエリ

SELECT * 
FROM (SELECT a 
     FROM b 
     WHERE 
     sex = 'M' 
     AND degree = 'Bs' 
     AND age = 15 
     AND name LIKE 'L%' 
    ); 

エラーがある:あなたのサブクエリのテーブルエイリアスを追加

cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in subquery source 
+0

「AND」条件を削除してエラーを表示してみましたか? –

+0

"類似している"は構文上の問題のように思われるので助けにならない –

+0

Dudu Markovitz:simiarによって、私はテーブル名をaとbと列名に変更しただけです...そうでなければまったく同じです。 – Cyrus

答えて

5

はのために必要ですハイブ。以下、別名として「t1」を使用します。

SELECT * 
FROM (SELECT a 
    FROM b 
    WHERE 
    sex = 'M' 
    AND degree = 'Bs' 
    AND age = 15 
    AND name LIKE 'L%' 
) t1 ; 
0

すべての下位票は正当ではありません。ハイブは、しばしば正しいエラーを生成せず、あなたに怠惰な "EOF"を投げます。この場合、サブクエリのテーブルエイリアスを指定するだけです。 SELECT * FROM (.....) tbl_alias

+0

Hiveのファンは、 –

関連する問題