2016-05-12 35 views
0

我是新來蜂巢和火花sql technologies.I曾嘗試火花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

嘗試修改LEFT JOIN:

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

我怎麼能執行這個查詢SELECT * FROM' Emp' LIMIT 10,20;在Spark sql中獲取10到20之間的行 –

0

您可以使用ROW_NUMBER在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;在Spark sql中獲取10到20之間的行 –

+0

LIMIT 10,20是針對MySQL的。我不確定相同的語法是否可以在Spark中使用。你可以嘗試上面的查詢。 –