Example #1
0
    def deserialize_operator(cls, encoded_op: Dict[str, Any]) -> Operator:
        """Deserializes an operator from a JSON object."""
        op: Operator
        if encoded_op.get("_is_mapped", False):
            # Most of these will be loaded later, these are just some stand-ins.
            op_data = {k: v for k, v in encoded_op.items() if k in BaseOperator.get_serialized_fields()}
            op = MappedOperator(
                operator_class=op_data,
                mapped_kwargs={},
                partial_kwargs={},
                task_id=encoded_op["task_id"],
                params={},
                deps=MappedOperator.deps_for(BaseOperator),
                operator_extra_links=BaseOperator.operator_extra_links,
                template_ext=BaseOperator.template_ext,
                template_fields=BaseOperator.template_fields,
                template_fields_renderers=BaseOperator.template_fields_renderers,
                ui_color=BaseOperator.ui_color,
                ui_fgcolor=BaseOperator.ui_fgcolor,
                is_empty=False,
                task_module=encoded_op["_task_module"],
                task_type=encoded_op["_task_type"],
                dag=None,
                task_group=None,
                start_date=None,
                end_date=None,
                expansion_kwargs_attr=encoded_op["_expansion_kwargs_attr"],
            )
        else:
            op = SerializedBaseOperator(task_id=encoded_op['task_id'])

        cls.populate_operator(op, encoded_op)
        return op
Example #2
0
 def get_serialized_fields(cls):
     """Stringified CustomOperator contain exactly these fields."""
     if not cls.__serialized_fields:
         cls.__serialized_fields = frozenset(BaseOperator.get_serialized_fields() | {"bash_command"})
     return cls.__serialized_fields
Example #3
0
 def get_serialized_fields(cls):
     """Serialized QuboleOperator contain exactly these fields."""
     if not cls.__serialized_fields:
         cls.__serialized_fields = frozenset(
             BaseOperator.get_serialized_fields() | {"qubole_conn_id"})
     return cls.__serialized_fields
 def get_serialized_fields(cls):
     """Serialized BigQueryOperator contain exactly these fields."""
     if not cls.__serialized_fields:
         cls.__serialized_fields = frozenset(
             BaseOperator.get_serialized_fields() | {"sql"})
     return cls.__serialized_fields