Большой SQL-запрос (64 млн. Строк) в пандас-фрейм данных занимает много времени - PullRequest
0 голосов
/ 10 апреля 2019

Мне нужно загрузить таблицу с сервера SQL.Я делаю это впервые, что вызывает у меня неуверенность и отсутствие опыта в этой области.

Мне нужны данные всей таблицы, которая содержит 64 миллиона строк.Чтобы записать его в фрейм данных pandas, я попробовал следующий код, а также SQLalchemy и некоторые chunksize примеров , которые вообще не работали.Возможно, dask более эффективен, чем pandas, однако я никогда раньше не использовал dask.

Код работает до TOP 1000000, что занимает 7,5 минут.Однако более крупные запросы не заканчиваются успешно.

Может быть, кто-то может помочь мне разобраться в «лучшей практике», чтобы сделать это.

import pandas as pd
import pyodbc

conn = pyodbc.connect('Driver={SQL Server};'
                      'Server=SERVER\DEV;'
                      'Database=Clusteranalysis;'
                      'Trusted_Connection=yes;')
cursor = conn.cursor()
query = 'SELECT * FROM [Clusteranalysis].[dbo].[Data] WHERE Rc=0'
result_port_map = pd.read_sql(query, conn)
print(result_port_map.head(5))

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...