Запуск нескольких функций панд одновременно - PullRequest
0 голосов
/ 03 июля 2018

Я бы хотел выполнить 3 SQL-запроса одновременно, используя Pandas.

Каждый из 3 моих SQL-запросов занимает 1 минуту. Запуск их последовательно занимает в общей сложности 3 минуты. Запросы:

pd.read_sql(Query_1 , DB_Connection)
pd.read_sql(Query_2 , DB_Connection)
pd.read_sql(Query_3 , DB_Connection)

Обходной путь для сокращения времени выполнения - открыть 3 отдельных записных книжки IPython Jupyter, разместить по одному запросу в каждом и выполнить команду «Выполнить» на всех трех из них более или менее одновременно. Учитывая, что они работают одновременно в этом случае, общее время выполнения для всех 3 составляет 1 минуту.

Как добиться того же результата, сократив общее время выполнения до 1 минуты на одном ноутбуке IPython?


Что вы думаете об этом потенциальном решении с использованием потоков?

SQL_Queries = ["Query 1" , "Query 2" , "Query 3"]
SQL_Results = []

def myfunct(i):
    SQL_Results.append(pd.read_sql(SQL_Queries[i]))

for i in range(3):
    t = Thread(target=myfunct, args=(i,))
    t.start() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...