Как мне справиться с рисками «воспроизведения» с помощью панд, pyodbc и sqlalchemy - PullRequest
0 голосов
/ 13 марта 2019

Я сталкиваюсь с большим затруднением, пытаясь сохранить большой объем данных, используя pandas.to_sql с разъемом SQL server DB (pyodbc, sqlalchemy).

Помещение: у меня есть большой CSV-файл (45 миллионов строк, около 8 ГБ), который я загружаю итеративно, разбивая его.К этим разделам будет применена обработка бизнес-логики, а затем они будут сохранены в базе данных, используя pandas.to_sql.

Проблематично : первые 4 миллиона строк успешно сохранены в базе данных, а затем долгое время нет ответа.Я подозреваю, что что-то пошло не так, поэтому я SIGKILL мой сценарий ...

Вопросы :

  1. Как я могу обнаружить, если соединение с базой данных было потеряно?(Я полагаю, что я мог бы использовать некоторые механизмы timeout?
  2. Как бы я сказал пандам, чтобы повторить вставку данных, поскольку они перестали сохраняться?
  3. Если я понимаю, какpandas.to_sql работает, он берет DataFrame (несколько строк) и вставляет его по одной строке в базу данных. Я ошибаюсь?
...