title: TensorFlow Extended (TFX): Clarify Beam, Airflow and Kubeflow usage
body: <p>I'm hoping someone can clarify the relationship between TensorFlow and its dependencies (Beam, AirFlow, Flink,etc)</p>
  
  <p>I'm referencing the main TFX page:
  <a href="https://www.tensorflow.org/tfx/guide#creating_a_tfx_pipeline_with_airflow" rel="noreferrer">https://www.tensorflow.org/tfx/guide#creating_a_tfx_pipeline_with_airflow</a>
  ,etc.</p>
  
  <p>In the examples, I see three variants:
  <a href="https://github.com/tensorflow/tfx/tree/master/tfx/examples/chicago_taxi_pipeline" rel="noreferrer">https://github.com/tensorflow/tfx/tree/master/tfx/examples/chicago_taxi_pipeline</a>
  <code>taxi_pipeline_flink.py</code>, <code>taxi_pipeline_kubeflow.py</code>, <code>taxi_pipeline_simple.py</code></p>
  
  <h1>BEAM Example?</h1>
  
  <p>There is no "BEAM" example and little describing its use.</p>
  
  <p>Is it correct to assume that <code>taxi_pipeline_simple.py</code> would run even if airflow wasn't installed?  I think not since it uses "AirflowDAGRunner".  If not, then can you run TFX with only BEAM and its runner?  If so, why no example of that?</p>
  
  <h1>Flink Example</h1>
  
  <p>In <code>taxi_pipeline_flink.py</code>, AirflowDAGRunner is used.  I assume that is using AirFlow as an orchestrator which in turn uses Flink as its executor.  Correct?</p>
  
  <h1>Airflow Example</h1>
  
  <p>The page states that BEAM is a required dependency, yet airflow doesn't have beam as one of its executors.  It only has SequentialExecutor, LocalExecutor, CeleryExecutor, DaskExecutor, and KubernetesExecutor.  Therefore, is BEAM <em>only needed when not using Airflow</em>?  When using airflow, what is the purpose of beam if it is required?</p>
  
  <p>Thank you for any insights.</p>