Sql 当我从python获取数据时,需要向snowflake查询添加查询标记(使用threadpool,提供了代码)

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_标记,还

我使用CreateEngine的SQLAlchemy将python连接到snowflake以获取数据。添加一段关于我如何操作的代码。在您建议使用connector.snowflake之前,我已经尝试过了,它有查询标记,但我需要通过线程池方法提取查询,并且找不到添加查询标记的方法

还尝试了ALTER SESSION SET 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}&paramstyle={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]'''