Давайте рассмотрим этот пример:
Clients Routes City Timestamp
1 10 NY 0
1 11 NY 10
1 12 WDC 11
1 13 NY 20
2 22 LA 15
То, что я хочу в качестве вывода, выглядит примерно так:
Clients Routes_number City min(Timestamp)
1 2 NY 0
1 1 WDC 11
1 1 NY 20
2 1 LA 15
Идея в том, что я должен сделать несколько групп по этомудержал свои заказы.Например, если мы видим города для Клиента 1, мы можем понять, что он путешествовал из Нью-Йорка -> WDC -> Нью-Йорк (в тот же день).Таким образом, идея состоит в том, чтобы создать группу, которая подсчитывает число маршрутов и минимальное время, но останавливает КАЖДОЕ ВРЕМЯ, когда находит новый город.Если я сделаю глобальную группу, то получу что-то вроде этого:
Clients Routes_number City min(Timestamp)
1 3 NY 0
1 1 WDC 11
2 1 LA 15
При таком выводе мы потеряли информацию о том, что у нас есть NY-> WDC и AGAIN NY.Мы подумали, что он сделал NY -> WDC только одним способом ...
Я даже не знаю, возможно ли выполнить такой запрос с использованием SQL или нужно ли это делать в моем коде (яЯ новичок в Spark & Scala, но я использую Scala).
Спасибо!