Сравнение разницы в метках времени в 2 наборах данных и получение последнего значения метки времени или ближайшего равного значения в pyspark / python / scala - PullRequest
0 голосов
/ 08 апреля 2020

Описание проблемы: у меня есть 2 файла с ценами, транзакциями. Для каждого идентификатора транзакции мне нужно найти последнюю цену, опубликованную ранее или равную времени этой транзакции. Мне нужно сделать значение ближайшей разницы в обеих временных метках, которые очень близки к миллисекундам. для одной временной метки транзакции У меня есть по крайней мере несколько строк опубликованных временных меток цены. Таким образом, сложность состоит в том, чтобы отделить и найти последнюю ближайшую цену для этой транзакции.

Я приложил пример данных, как показано ниже:

Currency_price          Timestamp
8.0344         2019-02-13 11:07:03.552186737 UTC
8.0431         2019-02-13 11:07:03.533186737 UTC
8.0416         2019-02-13 11:07:03.562186737 UTC
8.0837         2019-02-13 11:07:03.551645129 UTC
8.098          2019-02-13 18:07:03.568217347 UTC
8.0344         2019-02-13 19:07:03.503840382 UTC
8.0431         2019-02-13 19:09:03.515243181 UTC
8.0416         2019-02-13 19:17:03.553401162 UTC
8.0837         2019-02-12 11:07:03.556645129 UTC
8.098          2019-02-11 11:07:03.568217347 UTC
8.0344         2019-02-14 11:07:03.503840382 UTC
8.0431         2019-02-12 11:07:03.515243181 UTC

Transaction_id       Trans_timestamp            
769099         2019-02-13 11:07:03.552186737 UTC    
816799         2019-02-13 20:07:04.103498687 UTC    
636376         2019-02-12 17:07:04.358131651 UTC    

пример Вывод:

TRANSACTION_ID        TRANSACTION_TIME            CURRENCY_PRICE
769099          2019-02-13 11:07:03.552186737 UTC    8.0344
816799          2019-02-13 20:07:04.103498687 UTC    8.0416
636376          2019-02-12 17:07:04.358131651 UTC    8.0837

Дополнительные примечания: опубликованное время покупки и цена каждой валюты и транзакции не связаны. Если транзакция выполняется в момент времени «x», то цена этой транзакции публикуется в момент времени «x - k», где k может быть равно нулю или любому другому количеству единиц времени.

Пожалуйста, посмотрите на это, так как это последний шаг в моей работе над проектом, и я застрял здесь, где я испытываю трудности в получении разницы во временных метках из двух наборов данных и получении последнего или ближайшего обновленного значения. Ваша помощь приветствуется. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...