Как я могу использовать startDate и endDate из dataframe и использовать его для фильтрации другого dataframe в pyspark - PullRequest
0 голосов
/ 29 октября 2019

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

+---+------+----------+----------+
| id|sub_id| startDate|   endDate|
+---+------+----------+----------+
|  2|     a|2018-11-15|2018-12-01|
|  2|     b|2018-10-15|2018-11-01|
|  3|     a|2018-09-15|2018-10-01|
+---+------+----------+----------+

Вторая таблица:

+---+----------+----+
| id|      date|time|
+---+----------+----+
|  2|2018-10-15|1200|
|  2|2018-10-16|1200|
|  2|2018-10-18|1200|
|  3|2018-09-28|1200|
|  3|2018-09-29|1200|
+---+----------+----+

Для определенного идентификатора и заданных startDate и endDate мне необходимо отфильтроватьвторая таблица между заданным таймфреймом.

Из отфильтрованной таблицы мне требуется сумма столбца времени, и выходные данные должны быть такими:

+---+------+----------+----------+---------+
| id|sub_id| startDate|   endDate|totalTime|
+---+------+----------+----------+---------+
|  2|     a|2018-11-15|2018-12-01|        0|
|  2|     b|2018-10-15|2018-11-01|     3600|
|  3|     a|2018-09-15|2018-10-01|     2400|
+---+------+----------+----------+---------+

Моя цель - избегать использования цикла forвместе с фильтром. Я попытался использовать pandas_udf, но он работает только с одним кадром данных.

...