Повторный запрос Redshift + SQLAlchemy

Я делаю что-то среди строк:

conn_string = "postgresql+psycopg2://%s:%s@%s:%d/%s" % (db_user, db_pass, host, port, schema) conn = sqlalchemy.engine.create_engine(conn_string,execution_options={'autocommit':True},encoding='utf-8',isolation_level="AUTOCOMMIT") rows = cur.execute(sql_query) 

Выполнение запросов в кластере Redshift. В последнее время я занимаюсь такими задачами обслуживания, как запуск vacuum reindex на больших таблицах, которые усекаются и перезагружаются каждый день.

Проблема в том, что эта команда занимает около 7 минут для конкретной таблицы (таблица огромна, 60 миллионов строк по 15 столбцам), и когда я запускаю ее с помощью вышеописанного метода, она просто не заканчивается и не зависает. Я вижу в панели управления кластерами в AWS, что части команды вакуума работают около 5 минут, а затем просто останавливаются. Нет ошибок python, ошибок в кластере нет, ничего.

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

One Solution collect form web for “Повторный запрос Redshift + SQLAlchemy”

Это скорее всего не проблема с подключением. Чтобы это подтвердить, попробуйте нажать несколько миллионов строк в фиктивную таблицу (что занимает более 5 минут) и посмотреть, не сработает ли утверждение. Когда запрос был отправлен на красное смещение, независимо от того, что ваша строка соединения закрывается, запрос выполняется в фоновом режиме.

Теперь, придя к самой проблеме, я предполагаю, что у вас заканчивается память или дисковое пространство, можете ли вы быть более сложными и указать свою настройку красного смещения (Сколько узлов dc1 / ds2)? Кроме того, попробуйте запустить некоторые запросы администратора и посмотреть, сколько места у вас осталось на диске. Иногда, когда кластер загружается до краев, возникает полная ошибка диска, но в вашем случае, так как соединение может быть отброшено намного раньше, чем ошибка будет передана вашей оболочке python.

  • Установка delete-orphan в отношении SQLAlchemy вызывает AssertionError: этот атрибутImpl не настроен для отслеживания родителей
  • Запрос гибридного свойства в SQLAlchemy
  • AttributeError: объект InstrumentedList не имеет атрибута
  • Как сделать JOIN в SQLAlchemy на 3 таблицах, где один из них является сопоставлением между двумя другими?
  • Почему загрузка объектов SQLAlchemy через ORM 5-8x медленнее, чем строки через необработанный курсор MySQLdb?
  • Создание динамического класса в SQLAlchemy
  • Как создать флеш-приложение вокруг уже существующей базы данных?
  • Создание динамической таблицы и отображение ORM в SqlAlchemy
  • Правильный способ предотвратить повторение запросов SQLAlchemy на истекших объектах?
  • Возможно ли создать столбец в SQLAlchemy, который будет автоматически заполняться временем, когда он вставлен / обновлен в прошлый раз?
  • Обновить строку (SQLAlchemy) с данными из зефира
  •  
    Interesting Posts for Van-Lav

    Должен ли я использовать «глобальный» или «я» для переменных класса класса в Python?

    Какова наилучшая структура данных для хранения набора из четырех (или более) значений?

    Функция parse () python scrapy (), где возвращается возвращаемое значение?

    Как читать datetime обратно из sqlite как datetime вместо строки в Python?

    выравнивание отдельных графиков без привязки в ggplot2 с использованием Rpy2 в Python

    Как удалить строки CSV в python

    Как найти сохраненный отпечаток пальца с помощью датчика R305?

    Разница между несколькими If и Elif's Python

    Вызов / выбор переменных (float value) с использованием пользовательского ввода в Python

    Доступ к предыдущему элементу массива в шаблоне django для цикла

    Установка Python 2.7 на SLES 11

    Запрос POST работает в Postman, но не в Python

    Правильный способ автоматического тестирования производительности в Python (для всех разработчиков)?

    Каков наилучший способ сделать автоматическое назначение атрибутов в Python, и это хорошая идея?

    Координаты ящиков в Seaborn boxplot

    Python - лучший язык программирования в мире.