Sql 当我从python获取数据时,需要向snowflake查询添加查询标记(使用threadpool,提供了代码)
我使用CreateEngine的SQLAlchemy将python连接到snowflake以获取数据。添加一段关于我如何操作的代码。在您建议使用connector.snowflake之前,我已经尝试过了,它有查询标记,但我需要通过线程池方法提取查询,并且找不到添加查询标记的方法 还尝试了ALTER SESSION SET QUERY_标记,但由于查询并行运行,因此没有给出查询标记 代码:Sql 当我从python获取数据时,需要向snowflake查询添加查询标记(使用threadpool,提供了代码),sql,python-3.x,multithreading,threadpool,snowflake-cloud-data-platform,Sql,Python 3.x,Multithreading,Threadpool,Snowflake Cloud Data Platform,我使用CreateEngine的SQLAlchemy将python连接到snowflake以获取数据。添加一段关于我如何操作的代码。在您建议使用connector.snowflake之前,我已经尝试过了,它有查询标记,但我需要通过线程池方法提取查询,并且找不到添加查询标记的方法 还尝试了ALTER SESSION SET QUERY_标记,但由于查询并行运行,因此没有给出查询标记 代码: 你想用query_标签做什么?我主要感兴趣的是,您是在尝试为每个执行、每个连接应用唯一的query_标记,还
你想用query_标签做什么?我主要感兴趣的是,您是在尝试为每个执行、每个连接应用唯一的query_标记,还是在引擎创建时应用唯一的query_标记。嘿,Mike,我想在引擎创建时应用查询标记。您想在每次运行时将查询标记动态设置为不同的值,还是想用相同的值(静态标记)标记此进程中运行的所有查询?如果你想使用一个静态标签,你可以为这个过程设置一个用户并设置他们的默认查询标签:alter user xxxx set query_tag='query tag Text';
vendor_class_query ='select * from table'
query_list1 = [vendor_class_query]
pool = ThreadPool(8)
def query(x):
engine = create_engine(
'snowflake://{user}:{password}@{account}/{database_name}/{schema_name}?\
warehouse={warehouse}&role={role}¶mstyle={paramstyle}'.format(
user=---------,
password=----------,
account=----------,
database_name=----------,
schema_name=----------,
warehouse=----------,
role=----------,
paramstyle='pyformat'
),
poolclass=NullPool
)
try:
connection = engine.connect()
for df in pd.read_sql_query(x, engine, chunksize=1000000000):
df.columns = map(str.upper, df.columns)
return df
finally:
connection.close()
engine.dispose()
return df
results1 = pool.map(query, query_list1)
vendor_class = results1[0]'''