Как избежать чтения одинаковых записей из нескольких процессов при чтении с SQL Сервер в python - PullRequest
0 голосов
/ 20 апреля 2020

я прошу прочитать данные с SQL сервера, используя запрос, и записать в файл .dat, размер данных составляет 5,5 ГБ. используя pandas и фрейм данных без какой-либо обработки / обработки, выполнение задания занимает 11,4 минуты. мой существующий процесс занимает 6 минут. Я хочу видеть, что я могу улучшить 6 минут, используя многопоточность / обработку, поэтому я реализовал многопроцессорную обработку любым известным мне способом, и проблема в том, что все 4 процесса читают одни и те же записи. Пожалуйста, помогите мне решить эту проблему и помочь мне найти лучшее решение.

*conn = pyodbc.connect(SQL Server):
def test_SQL():
 SQL = "select * from rule"
 df = pd.read_sql(sql,conn,chunksize=50000)
 i=1
 for data in df:
   data.to_csv("filename")
   i+=1
if __name == '__main__':
 processes =[]
 for i in range(os.cpu_count()):
   p = multiprocessing.Process(target=test_SQL())
   p.start()
   processes.append(p)
 for process in processes:
   process.join()*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...