2016-05-12 17 views
0

私はHiveを初めて使用し、SQLテクノロジを起動します。私はspark sqlの制限節を試していました。特定の開始点から特定の終了点まで行を取得したいと考えています。これを達成する方法を提案する人は誰でもお待ちください。Spark Sqlハイブ句が複数あるHive SQLクエリ

Query1 :: SELECT * FROM `Emp` LIMIT 10; - this query supports in both sql and spark sql 

しかし

Query2 :: SELECT * FROM `Emp` LIMIT 10,20; - to retrive rows from 10 to 20 supports in sql, but not in spark sql. 

答えて

0

JOINの修正LEFTをお試しください:

SELECT a.* 
FROM 
(SELECT * FROM `Emp` LIMIT 20) a 
LEFT JOIN 
(SELECT * FROM `Emp` LIMIT 10) b 
ON a.primary_key=b.primary_key 
WHERE b.primary_key IS NULL 
+0

ROW_NUMBERを使用することができますEmp'LIMIT 10,20;スパークSQLで10と20の間の行を取得する –

0

あなたは `* FROMどのように私は、SELECT、このクエリを実行することができますHQL

SELECT *,ROW_NUMBER over (Order by id) as rowid FROM `Emp` 
where rowid > 10 and rowid <=20; 
+0

このクエリを実行する方法SELECT * FROM 'Emp' LIMIT 10,20;スパークSQLで10と20の間の行を取得する –

+0

LIMIT 10,20はMySQL用です。同じ構文がSparkで動作するかどうかはわかりません。上記のクエリを試すことができます。 –