You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by GitBox <gi...@apache.org> on 2022/07/13 08:45:47 UTC

[GitHub] [airflow] potiuk commented on a diff in pull request #25012: Update tutorial docs to include a definition of operators

potiuk commented on code in PR #25012:
URL: https://github.com/apache/airflow/pull/25012#discussion_r919815471


##########
docs/apache-airflow/tutorial.rst:
##########
@@ -102,11 +102,28 @@ define a ``schedule_interval`` of 1 day for the DAG.
     :start-after: [START instantiate_dag]
     :end-before: [END instantiate_dag]
 
+Operators
+---------
+
+An operator defines a unit of work for Airflow to complete. They are the most basic building blocks of DAGs.
+
+All operators inherit from the BaseOperator, which includes all of the required arguments for

Review Comment:
   I also do not agree they are most basic building blocks. Hooks IMHO are much more of that.
   
   We should treat thius chapter (which is important to add I agree, not only as describing the current (or rather past approach) but also to start passing a message to our users about where we want to steer their way of developing DAGs
   
   I think (and hope) we will manage to transiton out from using Operators "by default" but using more Task Flow where Operator concept does not exist and is replaced by a much more flexible and volatile "task".  There are a few things missing for that (lineage for hooks for one) to be able to say "taskf flow and hoos are the BEST way", but I think eventually we will get there, so I would not like to stress that Operators are "most basic" in the official documentation. I would like rather to gently steer away from using operators and converting to use most task flow approach - and initially combine it with operators but finally fully transition to it.
   
   What I would like to mention here, is to make sure that we:
   
   * mention that operators are "classic" approach but using Task Flow and Hooks is more flexible and in many cases simpler and that they can be combined with task-flow based tasks.
   
   * I think we should mention that Operators are important but not necessary to build DAGs. there are a way of doing it, but "most basic building block" is not a message we want to pass.
   
   * I think it's worth mentioning here that more modern and more Pythonic way is task flow and link to that (while mentioning that "classic" operators are still ok in a number of cases..
   
   Those are the words (and message) I think we should pass:
   
   * Operators are 'classic" and they are heading into direction of "legacy"
   * TaskFlow is more "modern" and "flexible" and "more Pythonic"
   * We can interoperate between the "classic" and "modern" approach in a single DAG and generally using more taskflow where it makes sense is advised.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org