Framework-uri de planificare a fluxurilor de lucru

Introducere în Data Engineering

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Un exemplu de pipeline

 

Exemplu de pipeline simplu care extrage date dintr-un CSV folosind Spark

Cum se planifică?

  • Manual
  • Instrumentul de planificare cron
  • Dar dependențele?
Introducere în Data Engineering

DAG-uri

Graf Aciclic Orientat

  • Mulțime de noduri
  • Muchii orientate
  • Fără cicluri

Exemplu de DAG

Introducere în Data Engineering

Instrumentele potrivite

 

  • cron în Linux
  • Luigi de la Spotify
  • Apache Airflow
Introducere în Data Engineering

Sigla Apache Airflow

  • Creat la Airbnb
  • DAG-uri
  • Python
Introducere în Data Engineering

Airflow: un exemplu de DAG

 

Exemplu de DAG Airflow

Introducere în Data Engineering

Airflow: un exemplu în cod

# Create the DAG object
dag = DAG(dag_id="example_dag", ..., schedule_interval="0 * * * *")

# Define operations start_cluster = StartClusterOperator(task_id="start_cluster", dag=dag) ingest_customer_data = SparkJobOperator(task_id="ingest_customer_data", dag=dag) ingest_product_data = SparkJobOperator(task_id="ingest_product_data", dag=dag) enrich_customer_data = PythonOperator(task_id="enrich_customer_data", ..., dag = dag)
# Set up dependency flow start_cluster.set_downstream(ingest_customer_data) ingest_customer_data.set_downstream(enrich_customer_data) ingest_product_data.set_downstream(enrich_customer_data)
Introducere în Data Engineering

Să exersăm!

Introducere în Data Engineering

Preparing Video For Download...