У меня есть набор данных журнала событий, например:
| patient | timestamp | event_st | extra_info |
| 1 | 1/1/2018 2:30 | urg_admission | x |
| 1 | 1/1/2018 3:00 | urg_discharge | x |
| 1 | 1/1/2018 | hosp_admission | y |
| 1 | 1/10/2018 | hosp_discharge | y |
Я хочу упорядочить все строки по patient
и timestamp
, но, к сожалению, в зависимости от типа события event_st
, timestamp
может быть в минутах или днях.
Итак, решение, которое я бы использовал в C ++, было бы определить сложный оператор <
, где я бы использовал event_st
в качестве дискриминатора, когда гранулярность времени отличается. Например, с указанными данными события с префиксом hosp_
всегда будут упорядочены после событий с префиксом urg_
, когда их день совпадает.
Существует ли какой-либо эквивалентный подход, использующий API DataFrame
или другие API Spark?
Большое спасибо.