Получение данных из SnowflakePython

Программы на Python
Anonymous
Получение данных из Snowflake

Сообщение Anonymous »

Итак, я пытался настроить процесс для извлечения данных из моей базы данных Snowflake на Python с помощью соединителя Snowflake Python. Я создал метод запроса данных (показан ниже)

Код: Выделить всё

import snowflake.connector

def request_data(s, query):
snowflake_connection = snowflake.connector.connect(user = 'user',
password = 'password',
account = 'account',
warehouse = 'warehouse',
database = 'database',
schema = s)
try:
with snowflake_connection.cursor() as cursor:
cursor.execute(query)
data = cursor.fetch_pandas_all()
finally:
snowflake_connection.close()
return data
Мне удалось запросить данные из этого метода и работать с данными в Python, как показано в примере ниже

Код: Выделить всё

query = "select * from books.sales where date between '2020-08-01' and '2020-11-31'"
sales = request_data('BOOKS', query)
Однако, когда я пытаюсь запросить больший объем данных (например, изменить диапазон дат с 01.08.2020 по 31.07.2021), я получаю сообщение об ошибке< /p>

Код: Выделить всё

250003: Failed to get the response. Hanging? method: get, url: 
Я попробовал просмотреть документацию, и я проверил одну вещь: печать атрибута rowcount в курсоре - print(cursor.rowcount) (который я добавил в метод запроса данных между курсором.execute(query) и data = курсор.fetch_pandas_all(). Когда я это сделал, я увидел, что количество строк соответствует количеству строк, которые я получил при тестировании запроса. рабочий лист на сайте Snowflakecomputing.com.
Поэтому я предполагаю, что это связано с чем-то, связанным с объемом данных. Запрос, в котором у меня есть диапазон дат, составляет от 01.08.2020 до 01.08.2020. 31 июля 2021 г. было около 39 000 строк. Я просматривал в документации ограничение на объем данных в запросе с помощью соединителя Snowflake Python, и единственное число, которое я когда-либо видел, было 10 000.
Когда я попытался уменьшить диапазон дат, чтобы количество строк было меньше этого, я все равно получал ту же ошибку, поэтому я не уверен, что не так, и я мог бы разбить один запрос на несколько запросов. но я стараюсь свести свои запросы к минимуму. Если кто-то знает, как решить эту проблему, буду очень признателен.

Подробнее здесь: https://stackoverflow.com/questions/688 ... -snowflake

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