Dataframe to_ sql в течение долгого времени, когда таблица уже присутствует - PullRequest
0 голосов
/ 25 марта 2020

Я использую код ниже, чтобы воссоздать таблицу и загрузить данные. Когда данных нет, код выполняется успешно, и таблица создается с данными. Когда я запускаю его во второй раз, код продолжает ждать выполнения этой строки. Я заканчиваю насильственным выходом после ожидания в течение 10-15 минут. Я предполагаю, что это не в состоянии бросить стол. Что может быть причиной такого поведения?

df = pd.read_sql(query, connection)
df_to_write.to_sql(TABLE, con=self.data_store.engine, schema=SCHEMA, if_exists='replace', index=True)

1 Ответ

0 голосов
/ 25 марта 2020

Как упомянуло @SergeBallesta в комментариях, это могло быть вызвано заблокированной таблицей.

Я изначально передавал postgresql объект соединения в функцию read_ sql. Это приводит к тому, что функция to_ sql ожидает вечно.

df = pd.read_sql(query, connection)
df_to_write.to_sql(TABLE, con=engine, schema=SCHEMA, if_exists='replace', index=True)

Когда я заменил соединение с SQLAlchemy Engine, оператор to_ sql начал работать, как и ожидалось, без блокировки таблицы.

df = pd.read_sql(engine, connection)
df_to_write.to_sql(TABLE, con=engine, schema=SCHEMA, if_exists='replace', index=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...