Kerangka penjadwalan alur kerja

Pengantar Data Engineering

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Contoh pipeline

 

Contoh pipeline sederhana yang mengekstrak dari csv menggunakan Spark

Bagaimana menjadwalkan?

  • Manual
  • Alat penjadwalan cron
  • Bagaimana dengan dependensi?
Pengantar Data Engineering

DAG

Directed Acyclic Graph

  • Kumpulan node
  • Edge berarah
  • Tanpa siklus

Contoh DAG

Pengantar Data Engineering

Perangkat untuk tugas ini

 

  • cron di Linux
  • Luigi dari Spotify
  • Apache Airflow
Pengantar Data Engineering

Logo Apache Airflow

  • Dibuat di Airbnb
  • DAG
  • Python
Pengantar Data Engineering

Airflow: contoh DAG

 

Contoh DAG Airflow

Pengantar Data Engineering

Airflow: contoh kode

# 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)
Pengantar Data Engineering

Ayo berlatih!

Pengantar Data Engineering

Preparing Video For Download...