Ramverk för arbetsflödesschemaläggning

Introduktion till datatekniker

Vincent Vankrunkelsven

Data Engineer @ DataCamp

En exempelpipeline

 

Exempel på en enkel pipeline som extraherar från csv med Spark

Hur schemalägger man?

  • Manuellt
  • Schemaläggningsverktyget cron
  • Vad händer med beroenden?
Introduktion till datatekniker

DAG:ar

Directed Acyclic Graph

  • Mängd noder
  • Riktade kanter
  • Inga cyklar

Exempel på DAG

Introduktion till datatekniker

Verktygen för jobbet

 

  • Linuxs cron
  • Spotifys Luigi
  • Apache Airflow
Introduktion till datatekniker

Logotyp för Apache Airflow

  • Skapades på Airbnb
  • DAG:ar
  • Python
Introduktion till datatekniker

Airflow: ett exempel på en DAG

 

Exempel på Airflow DAG

Introduktion till datatekniker

Airflow: ett exempel i kod

# 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)
Introduktion till datatekniker

Nu kör vi en övning!

Introduktion till datatekniker

Preparing Video For Download...