Size: a a a

Python для анализа данных

2021 April 07

A

Alexander in Python для анализа данных
а я забивал, т.к. думал что конструктору это не пригодится
источник

A

Alexander in Python для анализа данных
минутка самобичевания
источник

ГД

Григорий Демин... in Python для анализа данных
Если сильная математика в нормальном вузе типа ВШЭ, то это скорее плюс и должно хватить для начала работы. Только в резюме и на собеседовании надо правильно подсвечивать математическую составляющую образования. Но еще хорошие навыки программирования должны быть
источник

А

Александр in Python для анализа данных
Привет, возможно, вопрос не по адресу, но вдруг кто-то сталкивался. Использую mysql.connector в py скрипте, по ряду причин скрипт запускается в docker for windows. В скрипте есть запросы в 6 разных баз данных. На одной из баз скрипт валится с ошибкой 2013, 'Lost connection to MySQL server during query'. Сначала была версия, что это таймаут, но версия не подтвердилась. Во-первых, этот же скрипт работает, если запустить его не из докера, а через cmd или в jupyter.
Также был проверен кейс с докером, но на linux, оказалось, что на linux все успешно.
Также пробовал другие библиотеки pymysql, mysqlconnector. В общем я в тупике, если кто-то знает что не так, очень буду признателен.
P.S. рекомендации в стиле "надо было ставить linux" уже читал 😊
источник

PZ

Pavel Zheltouhov in Python для анализа данных
ну посмотрите теперь со стороны сервера какие там есть диагностические сообщения.
по сути у вас сообщение о потери связи, но по какой причине скрипту не известно.
источник

KM

Konstantin Mohov in Python для анализа данных
Проверьте все октрытые подключения, что вы их точно закрываете. Если используете контекстный менеджер, то он только завершает транзакцию, не закрывая соединения. Настройте пул соединений в sqlalchemy.
Как соединены контейнеры? (если бд тоже в докере?)
источник

А

Александр in Python для анализа данных
фишка в том, что после этого сообщения я сделаю запрос в DB show full processlist то я вижу свой запрос и он дойдет до конца и отработает
источник

PZ

Pavel Zheltouhov in Python для анализа данных
а. ну разве кто-то обещал что докер все упрощает.
источник

А

Александр in Python для анализа данных
не, бд не в докере. в докере я airflow тестирую
после каждого запроса стоит
conn.commit()
cursor.close()
conn.close()
поэтому маловероятно, что что-то соединение открыто. Или этого недостаточно? Я не сказать чтобы сильно шарю)
источник

PZ

Pavel Zheltouhov in Python для анализа данных
ну а времени то сколько проходит от отправки запроса до ошибки?
источник

А

Александр in Python для анализа данных
350-360 сек
источник

KM

Konstantin Mohov in Python для анализа данных
этого достаточно. Запросы ВСЕ без докера норм проходят, или вы только проблемный тестили?
источник

PZ

Pavel Zheltouhov in Python для анализа данных
погроммисты очень любят таймауты "как бы чего не вышло"
источник

А

Александр in Python для анализа данных
если исключить проблемный запрос, то все отработает успешно. И с проблемным (я его немного модифицировал, чтобы брал выборку меньше) тоже все проходит.
источник

KM

Konstantin Mohov in Python для анализа данных
значит стандартные таймауты, как Павел выше сказал
источник

KM

Konstantin Mohov in Python для анализа данных
Сначала ищите, как установить свой таймаут в либе, если не поможет увеличение - смотрите в бд. А вообще, стандартного должно хватать, если не хватает - нужна оптимизация запроса/индексы в бд и тд
источник

А

Александр in Python для анализа данных
видимо оптимизация 🙁 connection_timeout я пробовал первой версией. Спасибо!
источник

PZ

Pavel Zheltouhov in Python для анализа данных
так обрываться запрос все равно не должен никогда.
тут или докер или какой-то сисадмин решил mysql "поднастроить" (что крайне редко бывает успешным)
источник

А

Александр in Python для анализа данных
вот тоже думаю еще через админов зайти, но там только если в базе что-то. Хотя опять же не понятно почему на линукс из докера работает, а на винде нет
источник

PZ

Pavel Zheltouhov in Python для анализа данных
а  вы можете из клиента командной строки имитировать тот же за запрос в тех же условиях?
если оборвется - значит это точно не ваша программа виной
источник