Lewati ke konten utama

Mengenal Databricks Notebook: Panduan Lengkap

Pelajari cara mengelola Databricks Notebooks. Manfaatkan dukungan multi-bahasa, penjadwalan, kontrol versi, dan magic commands untuk mengoptimalkan alur kerja Anda.
· 10 mnt Baca

Jelajahi bersama AI

Databricks berfungsi sebagai platform analitik terpadu, memungkinkan integrasi rekayasa data, machine learning, dan analitik bisnis. Inti dari ekosistem ini adalah Databricks Notebooks, ruang kerja interaktif yang dirancang untuk eksplorasi data, pengembangan model, dan alur kerja produksi.

Dalam artikel ini, saya akan menunjukkan cara memulai dengan Databrick Notebooks. Jika Anda benar-benar baru, Anda mungkin ingin memulai dengan mendaftar ke kursus Introduction to Databricks kami agar Anda dapat memahami seluk-beluk Databricks dan bagaimana platform ini memodernisasi arsitektur data. Kursus kami sangat mendalam dan membahas banyak hal, termasuk manajemen katalog dan ingestion data, jadi silakan coba.

Apa itu Databricks Notebooks?

Databricks Notebooks adalah ruang kerja interaktif berbasis cloud yang memungkinkan pengguna melakukan eksplorasi data, rekayasa data, machine learning, dan analitik dalam lingkungan kolaboratif. Notebook ini menggunakan model eksekusi berbasis sel, di mana pengguna dapat menulis dan menjalankan kode dalam blok-blok atau sel-sel terpisah.

Bahasa yang didukung

Databricks Notebooks memiliki dukungan multi-bahasa, jadi Anda tidak hanya dapat memilih bahasa favorit Anda tetapi juga beralih antarbahasa dalam notebook yang sama. Bahasa-bahasa tersebut meliputi Python, SQL, Scala, dan R, yang semuanya kami sediakan kursus pengantarnya.

Untuk memfasilitasi interoperabilitas multi-bahasa, Databricks menyediakan apa yang disebut magic commands:

  • %python: Menjalankan sebuah sel menggunakan Python.

  • %sql: Menjalankan kueri SQL.

  • %scala: Memproses perintah berbasis Scala.

  • %r: Menjalankan kode R.

Fitur utama

Databricks Notebooks melampaui lingkungan coding tradisional dengan menawarkan kemampuan utama berikut:

  • Kolaborasi Waktu Nyata: Beberapa pengguna dapat mengedit, mengeksekusi, dan memberi komentar pada notebook secara bersamaan, memungkinkan kolaborasi tanpa hambatan.
  • Versi Otomatis: Riwayat versi bawaan memungkinkan pengguna melacak perubahan, membatalkan edit, dan menjaga integritas kode.
  • Eksekusi Interaktif: Pengguna dapat mengeksekusi sel individual atau seluruh alur kerja, sehingga debugging dan pengembangan iteratif menjadi lebih efisien.
  • Visualisasi Bawaan: Dukungan terintegrasi untuk merender bagan, tabel, dan dasbor tanpa pustaka eksternal.
  • Integrasi Git: Dukungan native untuk repositori Git memungkinkan kontrol versi, berbagi kode, dan alur kerja CI/CD.

Memulai dengan Databricks Notebooks

Membaca tentang fitur satu hal, tetapi melihatnya sendiri adalah hal lain. Cara terbaik untuk mengapresiasi Databricks adalah mulai mencobanya sendiri. Jadi, pada bagian ini, saya akan membantu Anda mulai membuat, mengelola, dan menavigasi notebook di ruang kerja Databricks. Setelah itu, saya yakin Anda akan mulai melihat sendiri seberapa bermanfaatnya.

Membuat dan mengelola notebook

Di ruang kerja Databricks, Anda dapat membuat notebook baru atau mengelola notebook yang sudah ada. Mari kita lihat metodenya di bawah ini.

Cara membuat notebook baru di ruang kerja Databricks

Untuk membuat notebook baru di Databricks:

  • Arahkan ke Databricks Workspace Anda.

Databricks Workspace.

Databricks Workspace. Gambar oleh Penulis.

  • Klik Workspace > Create > Notebook.

Create Databricks Notebook.

Membuat Databricks Notebook. Gambar oleh Penulis.

  • Berikan nama, pilih bahasa default, dan lampirkan cluster.

Select the name and default language for Databricks Notebook.

Pilih nama dan bahasa default untuk Databricks Notebook. Gambar oleh Penulis.

Mengimpor notebook yang sudah ada

Databricks memungkinkan pengguna mengimpor notebook dari berbagai sumber, seperti GitHub dan Git Repositories, URL eksternal, atau file lokal yang diunggah sebagai file .dbc (arsip Databricks) atau .ipynb (Jupyter).

Ikuti langkah-langkah berikut untuk mengimpor notebook yang sudah ada ke Databricks Workspace:

  • Klik Workspace > Import.

Import existing notebook to Databricks Workspace.

Mengimpor notebook yang sudah ada ke Databricks Workspace. Gambar oleh Penulis.

  • Pilih Source (URL, file, atau Git).

  • Unggah atau berikan tautan ke notebook.

Mengganti nama, mengatur, dan mengelola akses

Untuk mengganti nama Databricks Notebook, klik judul notebook dan edit namanya.

Renaming Databricks Notebook.

Anda juga dapat memindahkan notebook ke dalam folder untuk penataan yang lebih baik.

Memindahkan Databricks Notebooks ke folder. Gambar oleh Penulis.

Sebelum Anda membagikan Datbricks Notebook Anda, Anda dapat mengelola akses dan izin untuk mengontrol siapa yang dapat melihat, mengedit, atau mengelola notebook.

Sebelum kita lanjut ke contoh praktis penggunaan Databricks Notebooks, izinkan saya mengajak Anda menelusuri UI dan navigasi platform.

Ikhtisar toolbar, aksi sel, dan sidebar kanan

Toolbar Databricks Notebook menyediakan akses cepat ke tindakan berikut:

  • Run: Menjalankan sel individual atau seluruh notebook. Setiap sel memiliki opsi untuk:
  • Menjalankan, mengedit, menghapus, atau memindahkan sel.

  • Mengubah tipe sel seperti code, markdown, SQL, atau Scala.

  • Menetapkan magic commands seperti %python atau %sql.

Running a cell in Databricks Notebook.

Menjalankan sel di Databricks Notebook. Gambar oleh Penulis.

  • Clear State: Mengatur ulang variabel dan status eksekusi.

Reset variables and execution state in Databricks Notebook.

Mengatur ulang variabel dan status eksekusi di Databricks Notebook. Gambar oleh Penulis.

  • Mode Tampilan: Beralih antara mode edit dan presentasi.
  • Komentar: Tambahkan umpan balik kolaboratif pada sel tertentu.

Comments in Databricks Notebook.

Komentar di Databricks Notebook. Gambar oleh Penulis.

  • Revisi: Lihat dan pulihkan versi sebelumnya.

Version history in Databricks Notebook.

Riwayat versi di Databricks Notebook. Gambar oleh Penulis.

Peningkatan UI baru

Databricks telah menghadirkan beberapa peningkatan UI untuk pengalaman yang lebih intuitif. Dengan peningkatan ini, Databricks Notebooks menawarkan lingkungan pengembangan yang lebih efisien dan kuat bagi profesional data. Peningkatan tersebut mencakup:

  • Tampilan dan Nuansa Modern: Antarmuka yang lebih bersih dan ramah pengguna.
  • Penyunting Markdown yang Lebih Baik: Dukungan yang ditingkatkan untuk pemformatan dan penyematan visual.
  • Focus Mode: Meminimalkan distraksi dengan menyembunyikan elemen UI yang tidak perlu.
  • Debugging Interaktif: Alat debugging baru untuk eksekusi langkah demi langkah dan pelacakan error.

Praktik Langsung: Menulis dan Menjalankan Kode

Databricks Notebooks menyediakan lingkungan coding interaktif tempat pengguna dapat menulis, mengeksekusi, dan mendokumentasikan kode mereka. Pada bagian ini, saya akan membahas bekerja dengan sel kode, Markdown, dan menjalankan kode secara efisien.

Sel kode dan Markdown

Databricks Notebooks mendukung banyak bahasa, termasuk Python, SQL, Scala, dan R, dalam notebook yang sama.

Gunakan magic command %python untuk menulis kode Python dalam sel di Databricks Notebook.

%python
import pandas as pd
# Load sample data and display the first few rows
df = spark.read.format("csv").option("header", "true").load("/databricks-datasets/airlines/part-00000")
pd_df = df.limit(5).toPandas()  # Convert to Pandas DataFrame
display(pd_df)  # Works in Databricks

Example of Python code in Databricks Notebook.

Contoh kode Python di Databricks Notebook. Gambar oleh Penulis.

Untuk menulis kode SQL di Databricks Notebook, gunakan magic command %sql. Jika Anda telah menetapkan SQL sebagai bahasa default notebook, Anda dapat menjalankan sel tanpa menyertakan magic command %sql.

-- Querying a dataset in SQL
SELECT origin, dest, COUNT(*) AS flight_count 
FROM flights_table 
GROUP BY origin, dest 
ORDER BY flight_count DESC 
LIMIT 10;

SQL code in Databricks Notebook.

Kode SQL di Databricks Notebook. Gambar oleh Penulis.

Gunakan magic command %scala untuk menulis kode Scala dalam sel di Databricks Notebook.

%scala
// Reading and displaying data in Scala
val data = spark.read.option("header", "true").csv("/databricks-datasets/airlines/part-00000")

// Display as a table in Databricks
display(data)

Scala code in Databricks Notebook.

Kode Scala di Databricks Notebook. Gambar oleh Penulis.

Anda juga dapat menulis kode R di sel Databricks Notebook menggunakan magic command %r.

%r
# Load a sample dataset in R
library(SparkR)
df <- read.df("/databricks-datasets/airlines/part-00000", source = "csv", header = "true")
head(df)

R code in Databricks Notebook.

Kode R di Databricks Notebook. Gambar oleh Penulis.

Menggunakan sel Markdown untuk dokumentasi

Sel Markdown digunakan untuk menambahkan teks, heading, daftar, dan dokumentasi lainnya. Contoh berikut menunjukkan cara menulis sel Markdown dan bagaimana hasilnya ditampilkan di Databricks Notebook.

%md
# Data Exploration Notebook  
This notebook explores airline flight data, providing insights into flight frequency and destinations.  

## **Steps:**  
1. Load and display the dataset  
2. Query data using SQL  
3. Generate visualizations

Example of Markdown cells in Databricks Notebook.

Menjalankan sel

Databricks Notebooks memungkinkan eksekusi kode yang fleksibel melalui run sel individual atau batch. 

Menjalankan sel individual dan menjalankan semua sel

Untuk menjalankan satu sel, klik tombol Run (▶) di dalam sel atau gunakan pintasan keyboard:

  • Shift + Enter: Menjalankan sel saat ini dan berpindah ke sel berikutnya.
  • Ctrl + Enter: Menjalankan sel tanpa berpindah ke sel berikutnya.

Untuk mengeksekusi semua sel dalam notebook:

  • Klik Run All dari toolbar.
  • Ini akan menjalankan notebook secara berurutan dari atas ke bawah.

Executing individual and running all cells in Databricks Notebook.

Menjalankan sel individual dan semua sel di Databricks Notebook. Gambar oleh Penulis.

Melihat output

Databricks Notebooks mendukung berbagai format output, termasuk tabel, bagan, dan log. Misalnya, kode Python berikut menampilkan 5 baris pertama dari dataset ‘airlines’.

%python
import pandas as pd
# Load sample data and display the first few rows
df = spark.read.format("csv").option("header", "true").load("/databricks-datasets/airlines/part-00000")
# Displaying the first 5 rows of a DataFrame
display(df.limit(5))

View inputs in Databricks Notebook.

Melihat input di Databricks Notebook. Gambar oleh Penulis.

Kita juga dapat menggunakan Databricks Notebooks untuk memvisualisasikan output sel. Misalnya, kode Python di bawah ini memilih 10 maskapai dengan frekuensi tertinggi, mengonversi data dari PySpark ke Pandas, lalu menggunakan Matplotlib untuk membuat bagan batang.

%python
# Import necessary libraries
import matplotlib.pyplot as plt
import pandas as pd

# Load the dataset using PySpark
df = spark.read.option("header", "true").csv("/databricks-datasets/airlines/part-00000")

# Select the top 10 most frequent airlines (carrier column)
top_airlines = df.groupBy("UniqueCarrier").count().orderBy("count", ascending=False).limit(10)

# Convert PySpark DataFrame to Pandas DataFrame
pd_df = top_airlines.toPandas()

# Convert count column to integer (since it's a string in CSV)
pd_df["count"] = pd_df["count"].astype(int)

# Plot a bar chart
plt.figure(figsize=(10, 6))
plt.bar(pd_df["UniqueCarrier"], pd_df["count"], color="#ac4ce4")

# Add titles and labels
plt.xlabel("Airline Carrier", fontsize=12)
plt.ylabel("Flight Count", fontsize=12)
plt.title("Top 10 Most Frequent Airline Carriers", fontsize=14)
plt.xticks(rotation=45)  # Rotate x-axis labels for better readability

# Show the plot
plt.show()

Visualizing outputs in Databricks Notebook.

Memvisualisasikan output di Databricks Notebook. Gambar oleh Penulis.

Demikian pula, Anda dapat menampilkan beberapa output dari eksekusi satu sel di Databricks Notebook. Misalnya, output dari kode di bawah ini akan menampilkan 5 baris teratas dari dataset airlines dan jumlah 10 maskapai dengan frekuensi tertinggi.

%python
# Show the top 5 rows in an interactive table
display(df.limit(5))

# Show the top 10 most frequent airline carriers
top_carriers = df.groupBy("UniqueCarrier").count().orderBy("count", ascending=False).limit(10)
display(top_carriers)

Displaying multiple outputs from the execution of a single cell in Databricks Notebook.

Menampilkan beberapa output dari eksekusi satu sel di Databricks Notebook. Gambar oleh Penulis.

Fitur Lanjutan Databricks Notebook

Databricks Notebooks menawarkan kemampuan otomatisasi, versioning, dan integrasi yang kuat untuk meningkatkan produktivitas, kolaborasi, dan efisiensi operasional. Pada bagian ini, saya akan membahas fitur-fitur lanjutan utama dan praktik terbaik untuk memaksimalkan potensi Databricks Notebooks.

Otomatisasi dan penjadwalan

Databricks memungkinkan pengguna mengotomatisasi eksekusi notebook dengan menjadwalkannya sebagai jobs dan memparametrisasi input untuk eksekusi dinamis.

Menjadwalkan notebook sebagai jobs

Pengguna dapat menjadwalkan notebook agar berjalan pada interval tertentu, memastikan alur kerja otomatis untuk ETL, pelaporan, dan pelatihan model. Ikuti langkah-langkah berikut untuk menjadwalkan job notebook:

  • Buka notebook dan klik Run as Job atau navigasikan ke tab Jobs.
  • Klik Create Job dan pilih notebook.

Creating Job Run in Databricks Notebook.

Membuat Job Run di Databricks Notebook. Gambar oleh Penulis.

  • Konfigurasikan jadwal dan pemicu untuk job harian, per jam, dan cron kustom.

Configuring schedules and triggers in Databricks Notebook.

Mengonfigurasi jadwal dan pemicu di Databricks Notebook. Gambar oleh Penulis.

  • Lampirkan cluster dan atur dependensi jika diperlukan.
  • Klik Run Now untuk mengeksekusi segera atau biarkan berjalan sesuai jadwal.

Executing Job Runs in Databricks Notebook.

Menjalankan Job Runs di Databricks Notebook. Gambar oleh Penulis.

Menggunakan parameter dan widget untuk eksekusi dinamis

Widget Databricks memungkinkan Anda mendefinisikan parameter secara dinamis, sehingga notebook yang sama dapat berjalan dengan input berbeda. Misalnya, widget dbutils.widgets.text() berikut membuat widget input teks interaktif berlabel "Enter Parameter" dengan nilai default default_value. Lalu mengambil nilai yang dimasukkan pengguna dari widget dan mencetaknya.

dbutils.widgets.text("input_param", "default_value", "Enter Parameter")
param_value = dbutils.widgets.get("input_param")
print(f"User Input: {param_value}")

Demikian pula, kode di bawah ini menghasilkan menu dropdown berlabel dataset dengan opsi sales, marketing, dan finance, dengan default sales. Kode ini mengambil opsi yang dipilih pengguna dan mencetak dataset yang dipilih.

dbutils.widgets.dropdown("dataset", "sales", ["sales", "marketing", "finance"])
selected_dataset = dbutils.widgets.get("dataset")
print(f"Processing {selected_dataset} dataset")

Versi dan kolaborasi

Databricks menyediakan fitur versioning dan kolaborasi bawaan, memudahkan pelacakan perubahan, pemulihan versi sebelumnya, dan kerja tim secara waktu nyata.

Riwayat versi otomatis dan integrasi Git

Setiap perubahan di Databricks Notebook secara otomatis memiliki versi. Anda dapat melakukan hal berikut untuk riwayat versi:

  • Lihat Riwayat Versi: Klik Revision History untuk melacak perubahan.

Viewing version history in Databricks Notebook.

Melihat riwayat versi di Databricks Notebook. Gambar oleh Penulis.

  • Pulihkan Versi Sebelumnya: Kembalikan ke keadaan sebelumnya jika diperlukan.
  • Gunakan integrasi Git: Sinkronkan notebook dengan GitHub, Azure DevOps, atau Bitbucket untuk kontrol versi.

Fitur kolaborasi waktu nyata

Databricks Notebooks memungkinkan tim untuk menulis bersama, memberi komentar, dan berbagi wawasan menggunakan fitur-fitur berikut:

  • Penyuntingan Bersama Waktu Nyata: Beberapa pengguna dapat mengedit satu notebook secara bersamaan.
  • Komentar Inline: Tambahkan komentar pada baris kode tertentu untuk diskusi.
  • Berbagi dan Izin: Tetapkan peran seperti Viewer, Editor, dan Owner untuk mengontrol akses.

Integrasi dengan alat lain

Databricks Notebooks terintegrasi dengan Delta Live Tables, MLflow, SQL Warehouses, dan pipeline CI/CD untuk memperluas fungsionalitas.

Menggunakan Databricks dengan Delta Live tables

Delta Live Tables (DLT) menyederhanakan otomatisasi pipeline data dengan ETL deklaratif. Kueri berikut membuat Delta Live Table Pipeline dalam SQL.

-- Creating a live table called 'sales_cleaned' that stores cleaned data
CREATE LIVE TABLE sales_cleaned AS

    -- Selecting all columns where the 'order_status' is 'completed'
    SELECT * 
    FROM raw_sales
    WHERE order_status = 'completed'; 

MLflow untuk pelacakan eksperimen

MLflow, yang terintegrasi dengan Databricks, memungkinkan pelacakan eksperimen machine learning. Misalnya, kode di bawah ini mencatat learning rate dan akurasi model machine learning ke MLflow sebagai bagian dari eksperimen yang dilacak. Setelah pencatatan, sesi eksperimen diakhiri. Ini memungkinkan Anda melacak hyperparameter dan performa model dari waktu ke waktu serta membandingkan berbagai run.

# Import the MLflow library for experiment tracking
import mlflow
mlflow.start_run()
    mlflow.log_param("learning_rate", 0.01)
    mlflow.log_metric("accuracy", 0.95)

mlflow.end_run()

Mengekspor Notebook dan integrasi CI/CD

Databricks Notebooks dapat diekspor dalam berbagai format, termasuk berikut ini:

  • .html: Berbagi laporan read-only.

  • .ipynb: Konversi ke Jupyter Notebooks.

  • .dbc: Arsip Databricks untuk portabilitas.

Sebagai contoh, Anda dapat mengekspor sebuah notebook melalui CLI menggunakan perintah berikut.

databricks workspace export /Users/my_notebook /local/path/my_notebook.ipynb

Tips dan Trik untuk Menguasai Databricks Notebooks

Databricks Notebooks menawarkan beragam fitur kuat untuk merampingkan alur kerja, meningkatkan produktivitas, dan memperbaiki kolaborasi. Pada bagian ini, saya akan menunjukkan magic commands, peningkatan UI, teknik eksplorasi data, dan strategi pengelolaan kode yang saya anggap berguna saat menavigasi platform Databricks Notebooks.

Magic commands

Databricks menyediakan magic commands yang menyederhanakan tugas, seperti menjalankan skrip, mengelola file, dan memasang paket.

%run

Untuk mengeksekusi notebook lain di dalam notebook saat ini guna memodularisasi alur kerja, Anda dapat menggunakan perintah %run. Anda juga dapat menggunakan %run untuk memecah proyek besar menjadi notebook yang dapat digunakan kembali. Misalnya, perintah berikut menjalankan notebook data_preprocessing agar variabel, fungsi, dan output-nya tersedia di notebook saat ini.

%run /Users/john.doe/notebooks/data_preprocessing

%sh

Perintah %sh memungkinkan Anda mengeksekusi perintah shell Linux langsung di notebook. Pada contoh di bawah, perintah akan menampilkan daftar konten /dbfs/data/ di DBFS.

%sh ls -lh /dbfs/data/

%fs

Demikian pula, perintah %fs memungkinkan Anda berinteraksi dengan Databricks File System (DBFS) untuk operasi file. Misalnya, perintah di bawah ini menampilkan semua file dan direktori di dalam /databricks-datasets/, yang berisi dataset publik yang disediakan oleh Databricks.

%fs ls /databricks-datasets/

Demikian pula, Anda dapat menggunakan %fs cp untuk menyalin file, %fs rm untuk menghapus file, dan %fs head untuk melihat pratinjau file.

%pip

Perintah %pip memasang paket Python dalam lingkungan notebook. Perintah berikut akan memasang paket matplotlib dalam sesi notebook saat ini.

%pip install pandas matplotlib

Perintah %pip freeze digunakan untuk membuat daftar paket yang terpasang dan memastikan reprodusibilitas.

Peningkatan UI

Databricks menghadirkan peningkatan UI berikut yang meningkatkan navigasi, debugging, dan pengalaman pengguna secara keseluruhan:

  • Tabel Hasil Baru: Visualisasi hasil kueri yang lebih baik dengan tabel yang dapat diurutkan dan difilter.
  • Editor Markdown yang Lebih Baik: Pemformatan yang ditingkatkan, blok kode, dan penyematan gambar.
  • Debugger Interaktif: Debugging langkah demi langkah untuk pemecahan masalah skrip kompleks.
  • Inline Assistant (Databricks AI Assistant): Melengkapi kode secara otomatis, menyarankan perbaikan, dan meningkatkan efisiensi.

Saya selalu menyarankan untuk mengaktifkan Focus Mode (View → Focus Mode) untuk meminimalkan distraksi.

Teknik eksplorasi data

Databricks menyediakan alat bawaan untuk menelusuri dataset, memahami skema, dan memprofilkan data langsung di dalam notebook.

Untuk menelusuri dataset di DBFS, gunakan %fs ls atau display(dbutils.fs.ls()) untuk memeriksa dataset yang tersedia.

display(dbutils.fs.ls("/databricks-datasets/"))

Anda juga dapat mengeksplorasi skema tabel langsung di sidebar UI dengan mengikuti langkah-langkah berikut:

  • Klik Data di ruang kerja.
  • Jelajahi database dan tabel.
  • Klik sebuah tabel untuk melihat pratinjau data dan skema.

Untuk pemprofilan data, Anda dapat meringkas data menggunakan display() atau kueri SQL.

df.describe().show()
%sql
SELECT COUNT(*), AVG(salary), MAX(age) FROM employees;

Strategi pengelolaan kode

Gunakan teknik berikut untuk mengelola kode Anda di Databricks Notebooks. Salah satunya, pastikan untuk menyimpan potongan kode yang dapat digunakan kembali dalam notebook terpisah dan panggil menggunakan %run. Juga, gunakan Databricks Utilities (dbutils) untuk transformasi. Selain itu, demi keterbacaan, sebaiknya ikuti PEP 8 (Python) atau praktik terbaik SQL. Selalu gunakan sel markdown untuk komentar.

-- Select customer_id and calculate total revenue per customer
SELECT customer_id, SUM(total_amount) AS revenue  
FROM sales_data  
-- Group results by customer to get total revenue per customer
GROUP BY customer_id  
-- Order customers by revenue in descending order (highest first)
ORDER BY revenue DESC  
-- Return only the top 10 customers by revenue
LIMIT 10;

Jika Anda mengalami masalah saat bekerja dengan Databricks Notebooks, Anda dapat melakukan troubleshooting menggunakan metode berikut:

  • Cluster macet? Mulai ulang kernel (Run → Clear State & Restart).

  • Eksekusi lambat? Periksa Spark UI (Cluster → Spark UI) untuk bottleneck.

  • Konflik versi? Gunakan %pip list untuk memeriksa dependensi.

Gunakan pintasan keyboard berikut untuk coding yang lebih cepat:

  • Shift + Enter → Jalankan sel saat ini.
  • Ctrl + / → Komentari/hapus komentar pada baris yang dipilih.
  • Esc + A/B → Tambahkan sel baru di atas/bawah.

Kasus Penggunaan dan Skenario Dunia Nyata

Databricks Notebooks banyak digunakan dalam rekayasa data, machine learning, dan business intelligence. Pada bagian ini, saya akan menyoroti studi kasus dunia nyata dan cuplikan kode untuk menggambarkan bagaimana tim memanfaatkan Databricks Notebooks untuk alur kerja produksi.

Studi kasus 1: Pipeline ETL untuk rekayasa data

Pertimbangkan skenario di mana sebuah perusahaan ritel melakukan ingestion data penjualan mentah, membersihkannya, dan menyimpannya di Delta Lake untuk pelaporan. Prosesnya akan sebagai berikut:

  • Langkah 1: Membaca data mentah dari cloud storage.
  • Langkah 2: Membersihkan dan mentransformasi data menggunakan PySpark.
  • Langkah 3: Menyimpan data bersih dalam Delta Table.
  • Langkah 4: Menjadwalkan notebook sebagai job.

Proses ini akan meningkatkan keandalan data dan performa kueri untuk pelaporan. Cuplikan kode di bawah ini adalah contoh cara mengimplementasikan solusi di atas:

# Read raw sales data from cloud storage
df = spark.read.format("csv").option("header", "true").load("s3://sales-data/raw/")

# Data cleaning and transformation
df_cleaned = df.filter(df["status"] == "completed").dropDuplicates()

# Save to Delta Table for analysis
df_cleaned.write.format("delta").mode("overwrite").saveAsTable("sales_cleaned")

Studi kasus 2: Pengembangan model machine learning

Pertimbangkan skenario lain di mana sebuah institusi keuangan memprediksi gagal bayar pinjaman menggunakan model machine learning. Untuk menerapkan alur kerja ini di Databricks Notebook, Anda akan mengikuti langkah-langkah di bawah. Hasilnya adalah pelacakan dan deployment model otomatis dengan MLflow.

  • Langkah 1: Memuat dan memroses awal data pinjaman.
  • Langkah 2: Melatih model regresi logistik menggunakan MLflow.
  • Langkah 3: Mendaftarkan dan melacak model.
# import libraries
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
import mlflow

# Load and prepare data
df = spark.read.table("loan_data").toPandas()
X_train, X_test, y_train, y_test = train_test_split(df.drop("default", axis=1), df["default"])

# Train model
model = LogisticRegression()
model.fit(X_train, y_train)

# Log model in MLflow
mlflow.sklearn.log_model(model, "loan_default_model")

Studi kasus 3: Analisis data ad hoc untuk business intelligence

Dalam skenario di mana tim pemasaran menganalisis tren keterlibatan pelanggan, Anda akan menerapkan solusi dalam langkah-langkah berikut:

  • Langkah 1: Melakukan kueri data perilaku pelanggan menggunakan SQL.
  • Langkah 2: Membuat visualisasi interaktif.

Proses ini akan menghasilkan pengambilan keputusan yang lebih cepat dengan dasbor interaktif.

%sql
-- Count the number of interactions per customer segment
SELECT customer_segment, COUNT(*) AS interactions  
FROM user_activity  
-- Group by customer segment to aggregate interaction counts
GROUP BY customer_segment  
-- Order results by interaction count in descending order
ORDER BY interactions DESC;

Jika Anda perlu menyegarkan pengetahuan tentang Databricks SQL, saya merekomendasikan membaca tutorial Databricks SQL kami untuk mempelajari cara menyiapkan SQL Warehouse dari antarmuka web Databricks.

Troubleshooting dan FAQ

Saat menjalankan notebook Databricks secara bersamaan, debugging dan menjaga performa dapat menghadirkan tantangan tersendiri. Berikut beberapa gagasan untuk membantu Anda menjaga notebook bebas error di lingkungan produksi.

Masalah troubleshooting umum dan solusinya

Berikut beberapa masalah dan solusi yang direkomendasikan:

  • Sebuah notebook yang berjalan baik secara individual gagal ketika beberapa pengguna atau job mengeksekusinya secara bersamaan: Masalah ini bisa disebabkan oleh variabel bersama. Selain itu, satu cluster mungkin tidak mendukung beberapa eksekusi. Untuk mengatasinya, gunakan widget untuk parameterisasi atau gunakan autoscaling cluster untuk memastikan sumber daya cukup untuk eksekusi bersamaan.

  • Sebuah notebook yang sebelumnya berjalan cepat kini menjadi jauh lebih lambat: Masalah dapat terjadi karena transformasi Spark yang tidak efisien yang menyebabkan masalah shuffle atau terlalu banyak cache/dataset persisten yang mengonsumsi memori. Untuk mengatasinya, kelola operasi menggunakan .persist() dan .unpersist(). Juga, pantau Spark UI untuk partisi yang skewed dan optimalkan kueri dengan Delta tables.

  • %run gagal saat mencoba mengeksekusi notebook lain: Ini bisa terjadi jika path notebook salah atau notebook yang dirujuk bergantung pada cluster yang tidak tersedia. Untuk mengatasinya, gunakan path absolut untuk import Notebook atau periksa ketersediaan cluster untuk memastikan notebook yang dirujuk menggunakan cluster yang kompatibel.

  • Notebook terjadwal gagal: Ini bisa terjadi jika cluster dihentikan sebelum eksekusi atau jika dependensi eksternal gagal, seperti koneksi database atau panggilan API. Untuk mengatasinya, aktifkan pengulangan start cluster saat gagal. Di pengaturan job, aktifkan Retry on Failure. Juga, gunakan blok Try-Except untuk panggilan eksternal.

Baca tutorial Mastering the Databricks API kami untuk mempelajari cara menggunakan Databricks REST API untuk penjadwalan job dan penskalaan pipeline otomatis.

Praktik terbaik untuk memelihara notebook di produksi

Gunakan teknik berikut untuk memelihara Databricks Notebooks saat di produksi:

  • Modularisasi Kode menjadi Notebook yang Dapat Digunakan Kembali: Pecah notebook besar menjadi unit yang lebih kecil dan dapat digunakan kembali, dan gunakan %run untuk memanggilnya. Simpan fungsi pembantu dalam notebook utilitas terpisah.

  • Gunakan Version Control (Integrasi Git): Aktifkan Databricks Repos untuk melacak perubahan dan rollback versi.

  • Optimalkan Pemilihan Cluster untuk Jobs: Gunakan job clusters daripada interactive clusters untuk run terjadwal.

  • Terapkan Logging dan Alerts: Gunakan dbutils.notebook.exit() untuk mencatat status job. Anda juga dapat mengonfigurasi email alerts di Jobs UI untuk memberi tahu tim jika terjadi kegagalan.

  • Dokumentasikan Kode dan Gunakan Markdown untuk Kejelasan: Gunakan sel markdown untuk menjelaskan langkah dan logika alur kerja.

Kesimpulan

Jika Anda ingin mengeksplorasi konsep dasar Databricks, saya sangat merekomendasikan mengikuti kursus Introduction to Databricks kami. Kursus ini membangun pemahaman yang tepat yang Anda perlukan untuk kemudian bereksperimen dengan fitur lanjutan seperti magic commands, parameterisasi, dan optimisasi performa. Terakhir, saya juga pikir Anda sebaiknya mempelajari cara memperoleh Sertifikasi Databricks. Postingan kami membantu Anda mengeksplorasi manfaat karier, dan memilih sertifikasi yang tepat untuk tujuan karier Anda.

Allan Ouko

Penulis

Allan Ouko

Penulis teknis Data Science dengan pengalaman langsung dalam analitik data, business intelligence, dan data science. Saya menulis konten praktis berfokus industri tentang SQL, Python, Power BI, Databricks, dan rekayasa data, yang berakar pada pekerjaan analitik dunia nyata. Tulisan saya menjembatani kedalaman teknis dan dampak bisnis, membantu para profesional mengubah data menjadi keputusan yang meyakinkan.

FAQ Terkait

Apa itu Databricks Assistant?

Databricks Assistant adalah pair programmer dan agen dukungan berbasis AI yang membantu Anda membuat notebook, kueri, dasbor, dan file dengan lebih efisien. Asisten ini dapat menghasilkan, mengoptimalkan, men-debug, menjelaskan, dan memperbaiki kode serta kueri.

Bahasa apa yang didukung di Databricks Notebooks?

Databricks Notebooks mendukung Python, SQL, Scala, dan R, dan Anda dapat menjalankan bahasa yang berbeda dalam notebook yang sama menggunakan magic commands seperti %python, %sql, %r, dan %scala.

Bisakah beberapa pengguna mengedit notebook yang sama pada waktu yang sama?

Ya, Databricks Notebooks mendukung penulisan bersama waktu nyata, yang memungkinkan beberapa pengguna mengedit dan memberi komentar pada dokumen yang sama secara simultan.

Bisakah saya mengekspor atau mengunduh sebuah notebook?

Ya, notebook dapat diekspor dalam berbagai format, termasuk .ipynb (Jupyter), .dbc (arsip Databricks), .py (skrip), dan .html (format yang dapat dibaca).

Bagaimana cara meningkatkan performa eksekusi notebook?

Untuk meningkatkan performa, gunakan autoscaling cluster, optimalkan pemrosesan data dengan Delta Lake, cache data secara efektif, dan hindari operasi shuffle yang tidak perlu.

Topik

Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

blogs

Tutorial Korelasi di R

blogs

Spaghetti Plot dan Jalur Badai