Dasar-dasar Data Engineering di Databricks

Konsep Databricks

Kevin Barlow

Data Practitioner

Arsitektur Medali

Diagram Arsitektur Medali

Konsep Databricks

Membaca data

Spark sangat fleksibel dan dapat membaca dari berbagai sumber/tipe data.

Sumber dan tipe data umum:

  • Tabel Delta
  • Format berkas (CSV, JSON, Parquet, XML)
  • Basis data (MySQL, Postgres, EDW)
  • Data streaming
  • Gambar / Video

Sumber Data - Format Berkas

Sumber Data - Basis Data

Sumber Data - Format Baru

Konsep Databricks

Membaca data

Spark sangat fleksibel dan dapat membaca dari berbagai sumber/tipe data.

Sumber dan tipe data umum:

  • Tabel Delta
  • Format berkas (CSV, JSON, Parquet, XML)
  • Basis data (MySQL, Postgres, EDW)
  • Data streaming
  • Gambar / Video
#Delta table
spark.read.table()
#CSV files
spark.read.format('csv').load('*.csv')
#Postgres table
spark.read.format("jdbc")
  .option("driver", driver)
  .option("url", url)
  .option("dbtable", table)
  .option("user", user)
  .option("password", password)
  .load()
Konsep Databricks

Struktur tabel Delta

Tabel Delta memberi sifat seperti tabel pada format berkas terbuka.

  • Terasa seperti tabel saat dibaca
  • Akses ke berkas dasar (Parquet dan JSON)

Struktur Delta

Konsep Databricks

Menjelaskan struktur Delta Lake

Kartu Resep - Gambar Makanan

Kartu Resep - Bahan dan Langkah

Konsep Databricks

DataFrame

DataFrame adalah representasi data dua dimensi.

  • Mirip tampilan dan fungsi tabel
  • Konsep umum di banyak alat data
    • Spark (default), pandas, dplyr, kueri SQL
  • Struktur dasar untuk sebagian besar proses data
id customerName bookTitle
1 John Data Guide to Spark
2 Sally Bricks SQL for Data Engineering
3 Adam Delta Keeping Data Clean
df = (spark.read
  .format("csv")
  .option("header", "true")
  .option("inferSchema", "true")
  .load("/data.csv"))
Konsep Databricks

Menulis data

Jenis tabel di Databricks

  1. Managed table
    • Tipe default
    • Disimpan dengan Unity Catalog
    • Dikelola Databricks
  2. External table
    • Disimpan di lokasi lain
    • Set LOCATION
    • Dikelola pelanggan
df.write.saveAsTable(table_name)

CREATE TABLE table_name 
USING delta 
AS ...
df.write
  .location('').saveAsTable(table_name)

CREATE TABLE table_name 
USING delta 
LOCATION "<path>" 
AS ...
Konsep Databricks

Ayo berlatih!

Konsep Databricks

Preparing Video For Download...