我试图在我的Airflow任务中使用MySqlHook.bulk_load()方法docs,如果我的理解是正确的,我必须启用" local_infile"和"松散的本地信息"当我创建与MySQL数据库的连接时,为了使其工作。
否则,会导致以下错误: "此MySQL版本不允许使用该命令。"
如果我从Web服务器UI上的Connections页面创建连接,并将以下参数作为" extras"传递,则方法成功并且DAG按预期工作: {" local_infile":" 1""松和本地infile的":" 1"} image of connection settings on Airflow webserver UI
但是,我正在寻找通过将其作为环境变量传递来创建我的数据库连接。为此,要求我将我的连接设置作为URI传递。 see "Connections" in docs
ie:scheme://[user[:[password]]@]target[:port][/schema][?attribute1=value1&attribute2=value2...
docs
我尝试了以下格式,但没有一个能成功地为我工作:
mysql://user:password@hostname:port/schema?local_infile=1&loose-local-infile=1
mysql://user:password@hostname:port/schema?local_infile=1;loose-local-infile=1
我也尝试过编码我的值的百分比,如下所示:
mysql://user:password@hostname:port/schema?local_infile%3D1%26loose-local-infile%3D1
非常感谢任何帮助,谢谢!