как выбрать только определенный столбец из набора данных после его сортировки - PullRequest
0 голосов
/ 09 февраля 2019

У меня есть следующая таблица:

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 и хочусм только столбец подсчета.Я сделал это, но я делаю это в 2 шага

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?

1 Ответ

0 голосов
/ 09 февраля 2019

В этом нет ничего плохого

(dataDS.sort(col("count").desc)).select(col("count")).show();

Это правильно и не имеет негативных последствий для производительности, кроме внутренних проблем сортировки как таковых.

Используйте это свободно и небольше не переживай.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...