У меня есть требование, как показано ниже:
Я пытаюсь преобразовать макрос цикла таблицы MS Access для работы с таблицей улья. Таблица под названием trip_details
содержит подробную информацию о конкретной поездке на грузовике. Грузовик может останавливаться в нескольких местах, и тип остановки обозначается флагом под названием type_of_trip
. Этот столбец содержит значения, такие как arrival
, departure
, loading
и т. Д.
Конечная цель состоит в том, чтобы рассчитать время задержки каждого грузовика (сколько времени занимает грузовик, прежде чем начать другую поездку). Чтобы вычислить это, мы должны перебрать таблицу строка за строкой и проверить тип поездки.
Типичный пример выглядит так:
До конца файла:
- Сохранить первую строку в переменной.
- Перейти ко второму ряду.
- Если type_of_trip = Прибытие:
Перейти к третьему ряду
- Если type_of_trip = End Trip:
Храните третий ряд
Возьмите разницу временных меток для расчета времени задержки
- Добавить строку в выходную таблицу
Конец
Как лучше всего решать эту проблему в улье?
Я попытался проверить, содержит ли hive ключевое слово for loop, но не смог его найти. Я думал о том, чтобы сделать это с помощью сценария оболочки, но мне нужно руководство по этому вопросу.
Я не могу раскрыть все данные, но не стесняйтесь задавать любые вопросы в разделе комментариев.
Input
Идентификатор поездки type_of_trip метка времени location
1 Departure 28/5/2019 15:00 Warehouse
1 Arrival 28/5/2019 16:00 Store
1 Live Unload 28/5/2019 16:30 Store
1 End Trip 28/5/2019 17:00 Store
Ожидаемый результат
Идентификатор поездки Исходное местоположение Место назначения Время ожидания
1 Warehouse Store 2 hours