首页 > 解决方案 > 当我从 python 获取数据时需要向雪花查询添加查询标签(使用线程池,提供了代码)

问题描述

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

也尝试过 ALTER SESSION SET QUERY_TAG 但由于查询并行运行,它没有给出查询标签。

代码:

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]'''

标签: sqlpython-3.xmultithreadingthreadpoolsnowflake-cloud-data-platform

解决方案


推荐阅读