Итак, на работе они сказали, что хотят обновить свой старый ETL для контроля присутствия, превратив его в конвейер Mage.AI. Сначала я думал, что это будет простая задача, которую можно скопировать и вставить. После некоторых корректировок неделю спустя я решил, что конвейер готов к работе. Но ничто не подготовило меня к ужасам, с которыми мне пришлось столкнуться потом, запуск за запуском.
В настоящее время конвейер использует тестовый текстовый файл, содержащий 341 строку, которую необходимо обработать и вставить в БД. . Исходных дубликатов нет, поэтому при одном запуске необходимо правильно вставить 341 строку.
Здесь вы можете получить доступ к образцу БЛОКА ЭКСПОРТЕРА ДАННЫХ< /strong> (блоков всего два, и загрузчик работает нормально, возвращая DF 341 с действительными данными):
https://docs.google.com/document/ d/17sqtAUs1a9sF7j3ew4IhNFWKQc9ma2PvRV4UnfvoV7Q/edit?usp=sharing
Неделя 1: Конвейер настроен. Логика кажется достаточно хорошей. Однако я запускаю его и понимаю, что система предотвращения дублирования строк еще не настроена. При каждом запуске, как и ожидалось, появляется на 341 строку больше.
Неделя 2: Я исправляю проблему с дублированием. Теперь после запуска, если не удалить строки БД, ничего не вставляется. Однако при первом запуске вставляется более 1 тыс. строк, и когда я подсчитываю(*) каждого пользователя, получается множество дубликатов.
Неделя 3: Я продолжаю отлаживать каждую переменную, хотя результат выглядит надежным. Второй запуск ничего не вставляет, но первый теперь вставляет более 10 тысяч строк.
Неделя 4: Мой начальник спрашивает, в порядке ли я. Я объясняю, что происходит, и он решает проверить, какой запрос отправляется на сервер. Запросы корректны и ни в коем случае не должны вставлять более 341 строки; однако база данных пополняется 25 тысячами строк.
Я схожу с ума.
Если кто-нибудь может помочь, подсказав мне, что можно продолжайте, буду более чем благодарен.
Дополнительная информация:
< ol>
[*]В настоящее время конвейер обновляет дату вставки последней строки, чтобы предотвратить появление старых данных.
[*]Это также имеет проверку повторяющихся строк, поэтому, если какая-либо строка в таблице равна текущей обрабатываемой строке, она должна возвращать True и не добавлять текущие обработанные данные в запрос, переходя к следующей строке. Это было реализовано на третьей неделе, но затем возникла проблема, когда оно всегда возвращало True, независимо от того, что предыдущие проверки указывали False (никаких дубликатов... фактически никаких строк в БД). Итак, что происходит, так это то, что вывод терминала всегда равен True и говорит: «Откат из-за проблемы, запрос недействителен», поскольку он пуст. Однако в любом случае вставляется более 20 тыс. строк.
Если кто-нибудь может помочь, предоставив мне идеи о том, что может произойти п., я был бы более чем благодарен. Я не знаю, почему КАЖДЫЙ РАЗ ВСТАВЛЯЕТ ЕЩЕ БОЛЬШЕ СТРОК!
Подробнее здесь: https://stackoverflow.com/questions/790 ... -no-reason
Загрузчик запросов Mage.AI вставляет дублированные строки без причины? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Загрузчик запросов Mage.AI вставляет дублированные строки без причины? [закрыто]
Anonymous » » в форуме Python - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-