使用sqlalchemy设置配置属性的正确方法?
问题描述:
我有一个脚本,使用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> """)
我最后的查询失败,看着我确定容器大小永远不会设置正确的日志。有没有更好的方法来即时更改会话变量?
答
看来,正确的方法是使用connect_args
:
找到here:
create_engine(
'hive://[email protected]:10000/database',
connect_args={'configuration': {'hive.exec.reducers.max': '123'}},
)
有一个相应的configuration
指令为DB-API连接。