我有下表:
DEST_COUNTRY_NAME ORIGIN_COUNTRY_NAME count
United States Romania 15
United States Croatia 1
United States Ireland 344
Egypt United States 15
表表示为数据集。
scala> dataDS
res187: org.apache.spark.sql.Dataset[FlightData] = [DEST_COUNTRY_NAME: string, ORIGIN_COUNTRY_NAME: string ... 1 more field]
我想根据count
列对表格进行排序,并且只想查看count列。我已经完成了,但是我分两个步骤完成了
1-我首先进行排序以获得DS-dataDS.sort(col("count").desc)
2-然后在该DS-上选择(dataDS.sort(col("count").desc)).select(col("count")).show();
以上内容对我来说就像是嵌入式sql查询。但是,在sql
中,我可以执行相同的查询而无需使用嵌入式查询
select * from flight_data_2015 ORDER BY count ASC
有没有一种更好的方式可以对我进行排序和选择而不创建新的Dataset
?
答案 0 :(得分:0)
没有错
(dataDS.sort(col("count").desc)).select(col("count")).show();
这是正确的做法,除了对排序的内在问题外,对性能没有负面影响。
自由使用它,不再担心。