并行执行多个Snowflake查询的Python代码



我编写了一个python程序,用于从excel中提取查询并以CSV格式打印输出。如果我一个接一个地按顺序运行查询,但我尝试使用execute_async并行运行所有查询,那么我的代码就完全不起作用了

有人能帮我一下吗。下面是我的python代码

from SNOWFLAKE_CONNECTION import *
import pandas

wb = openpyxl.load_workbook(r"Query_Sheet.xlsx")
ws = wb.get_sheet_by_name('Sheet1')
all_rows = list(ws.rows)
cur = ctx.cursor()
# Pull information from specific cells.
for row in all_rows[1:4]:
scenario = row[1].value
query = row[2].value
if_execute = row[3].value
if if_execute == 'Y':
try:
cur.execute_async(query)
df = cur.fetch_pandas_all()
except:
print(scenario," Failed")
else:
print(df)

我在这里得到的只是场景失败作为输出

结果的顺序重要吗?如果没有,则可以通过以下方式使用execute_async

# Submit an asynchronous query for execution.
cur.execute_async(query)
# Retrieve the results.
cur.get_results_from_sfqid(query_id)
results = cur.fetchall()
print(f'{results[0]}')

点击此处查看更多示例