我在Ubuntu的Python 2.7中使用的是airlow版本的1.9.2。我试图继承
ParentOperator
类,该类本身工作正常,并创建一个名为
ChildOperator
. 但是当我创造一个
儿童经营者
例如,我认为某些关键字参数在这里丢失或弄乱了,我得到这个错误:
airlow.exceptions.airlowexception:在以下情况下使用关键字参数
初始化运算符
下面是一个简单的例子:
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特有的问题吗?