airflow.Exception.AirflowException:初始化运算符时使用关键字参数
我在Ubuntu中使用的是1.9.2版本和Python2.7。我试图从本身运行良好的airflow.Exception.AirflowException:初始化运算符时使用关键字参数,airflow,Airflow,我在Ubuntu中使用的是1.9.2版本和Python2.7。我试图从本身运行良好的ParentOperator类继承,并创建一个名为ChildOperator的类。但是,当我创建一个ChildOperator实例时,我认为这里缺少了一些关键字参数或将其搞乱,我得到了以下错误: airflow.Exception.AirflowException:在以下情况下使用关键字参数 初始化运算符 以下是一个简化的示例: class ParentOperator(BaseOperator, SkipMix
ParentOperator
类继承,并创建一个名为ChildOperator
的类。但是,当我创建一个ChildOperator
实例时,我认为这里缺少了一些关键字参数或将其搞乱,我得到了以下错误:
airflow.Exception.AirflowException:在以下情况下使用关键字参数
初始化运算符
以下是一个简化的示例:
class ParentOperator(BaseOperator, SkipMixin):
@apply_defaults
def __init__(self,
conn_id,
object,
args={},
s3_conn_id=None,
s3_key=None,
s3_bucket=None,
fields=None,
*args,
**kwargs
):
super(ParentOperator, self).__init__(*args, **kwargs)
...
class ChildOperator(ParentOperator):
@apply_defaults
def __init__(self,
conn_id,
object,
args={},
s3_conn_id=None,
s3_key=None,
s3_bucket=None,
fields=None,
*args,
**kwargs
):
args=...
super(ChildOperator, self).__init__(
conn_id,
object,
args=args,
s3_conn_id=s3_conn_id,
s3_key=s3_key,
s3_bucket=s3_bucket,
fields=fields,
*args,
**kwargs
)
...
myobjc = ChildOperator(
conn_id="my_default",
object=table,
args={},
s3_conn_id='s3_postgres_dump',
s3_key=s3_key,
s3_bucket=s3_bucket,
dag=dag,
task_id="task1"
)
知道是什么导致了这个错误吗?这更像是Python特有的问题吗
\uuuuu init\uuuuuu
函数的ChildOperator
需要具有以下所有关键字参数(对于conn\u id
和object
的前两个参数):
super(ChildOperator, self).__init__(
conn_id=conn_id,
object=object,
args=args,
s3_conn_id=s3_conn_id,
s3_key=s3_key,
s3_bucket=s3_bucket,
fields=fields,
*args,
**kwargs
)