2015-11-04 38 views
0

是否可以從下面的SQL查詢中獲得一對RDD? ((item_id,flight_id),metric1)
item_id,flight_id是group by的組成部分。來自SQL的PairRDD

SELECT 
    item_id, 
    flight_id, 
    SUM(metric1) AS metric1 
FROM mytable 
GROUP BY 
    item_id, 
    flight_id 
+2

是的,當然! df.rdd.map(//將行轉換爲對) – eliasah

回答

1

正如由eliasah提到你可以一個RDD簡單地映射在(與和查詢之間可選rddmap)如下:

sqlContext.sql(query).map{case Row(item_id: U, flight_id: V, metric1: T) => 
    ((item_id, flight_id), metric1)} 

TUV是類型的數據,sqlContext是一個SQLContext實例,查詢是在您的問題中提供的查詢。