Загрузчик запросов Mage.AI вставляет дублированные строки без причины? [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Загрузчик запросов Mage.AI вставляет дублированные строки без причины? [закрыто]

Сообщение Anonymous »

Поэтому мне пришлось обновить старый 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 тысячами строк.
Если кто-нибудь может помочь мне, подсказав, что может происходить, я буду более чем благодарен.

Дополнительная информация:
  • В настоящее время конвейер обновляет последнюю дату вставки строки, чтобы предотвратить старые данные.
  • Он также имеет проверку повторяющихся строк, поэтому, если какая-либо строка в таблице равна текущей строке, обработано, оно должно возвращать True и не добавлять в запрос текущие обработанные данные, переходя к следующей строке. Это было реализовано на третьей неделе, но затем возникла проблема, когда оно всегда возвращало True, независимо от того, что предыдущие проверки указывали False (никаких дубликатов... фактически никаких строк в БД). Итак, что происходит, так это то, что вывод терминала всегда равен True и говорит: «Откат из-за проблемы, запрос недействителен», поскольку он пуст. Однако в любом случае вставляется более 20 тыс. строк.


Подробнее здесь: https://stackoverflow.com/questions/790 ... -no-reason
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»