Несколько отдельных столбцов (Свинья) - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть список рейсов со следующими атрибутами:

  • день: день, когда они летали

  • номер рейса: их номер рейса

  • origin_airport: аэропорт города происхождения
  • dest_airport: аэропорт города назначения
  • carrier_code: код авиакомпании (например, delta: DL)

Я пытаюсь найти количество рейсов, выполняемых каждым перевозчиком. При этом для каждого дня мне нужно находить разные номера flight_number, origin_airport, dest_airport и carrier_code, поскольку одно из условий заключается в том, что «можно запланировать полет самолета из A в B, а затем из B в C с тем же номером полета». в тот же день. Однако мы рассматриваем эти два путешествия как два отдельных рейса. "

Это то, что у меня не работает:

 desiredattributes = FOREACH jnd GENERATE day, flight_number, origin_airport_id, dest_airport_id, carrier_code;

 distinctflights = FOREACH (GROUP desiredattributes BY day) 
 {
     a = carriers.(carrier_code, flight_number, origin_airport_id, dest_airport_id);
     b = DISTINCT a;
 };
 DUMP distinctflights;

Любая помощь или руководство приветствуется! Я новичок в свинье

1 Ответ

0 голосов
/ 11 апреля 2019

Вы должны перечислить поля из желаемых атрибутов.

desiredattributes = FOREACH jnd GENERATE day, flight_number, origin_airport_id, dest_airport_id, carrier_code;
dayflights = GROUP desiredattributes BY day;
alldayflights = FOREACH dayflights GENERATE FLATTEN(group) as day,desiredattributes.flight_number,desiredattributes.origin_airport_id,desiredattributes.dest_airport_id, desiredattributes.carrier_code;
distinctflights = DISTINCT alldayflights;
DUMP distinctflights;
...