2017-08-09 83 views
0

我有一个脚本,使用PyHive和SQLAlchemy在Hive集群上执行一些ETL。我工作的一部分是这样的:使用sqlalchemy设置配置属性的正确方法?

hivecon = hive_engine.raw_connection() 
hivecur = hivecon.cursor() 

... 

hivecur.execute(""" <some query> """) 
hivecur.execute(""" set hive.tez.container.size=5120 """) 
hivecur.execute(""" <some other query> """) 

我最后的查询失败,看着我确定容器大小永远不会设置正确的日志。有没有更好的方法来即时更改会话变量?

回答

0

看来,正确的方法是使用connect_args

找到here

create_engine(
    'hive://[email protected]:10000/database', 
    connect_args={'configuration': {'hive.exec.reducers.max': '123'}}, 
) 

有一个相应的configuration指令为DB-API连接。