Pipeline data hampir selalu berjalan di mesin Linux: server perusahaan, cluster Spark, dan container Docker semuanya berbagi fondasi yang sama. Data engineer pun bekerja lewat terminal setiap hari — memeriksa log job malam, mencari baris bermasalah di berkas raksasa, atau memperbaiki izin akses sebuah skrip.

Rasa nyaman dengan baris perintah memperpendek jarak antara “pipeline gagal” dan “penyebabnya ketemu”. Chapter ini memetakan perintah harian yang wajib dikenal, mengujinya lewat contoh nyata penyaringan log, lalu menutup dengan cek kesiapan diri.

Kenapa Linux Penting untuk Data Engineer #

Alasan pertama adalah tool: Airflow, Spark, dan Kafka dirancang untuk lingkungan Unix, sehingga dokumentasi dan contohnya memakai asumsi Linux. Alasan kedua adalah format kerja: log, konfigurasi, dan keluaran tool semuanya berupa berkas teks yang paling efisien diproses lewat perintah shell.

Alasan ketiga adalah otomasi: penjadwalan di server hanya memungkinkan lewat shell script dan cron, keduanya membutuhkan pemahaman terminal. Perintah berikut adalah kosakata hariannya:

PerintahPeran
pwd, cd, lsmelihat lokasi aktif dan berpindah direktori
cat, head, tailmelihat isi berkas, bagian awal, atau bagian akhir
grepmencari baris yang memuat pola tertentu
| (pipe)mengalirkan keluaran satu perintah menjadi masukan perintah berikutnya
wc -lmenghitung jumlah baris
chmodmengubah izin akses berkas
manmembaca manual resmi sebuah perintah

Contoh Nyata: Menyaring Log Pipeline #

Skenario paling umum: sebuah job menulis log campuran INFO dan ERROR, lalu kita perlu tahu apa dan berapa banyak kesalahannya. Mulai dengan menyiapkan berkas log kecil sebagai simulasi:

bash
printf '2026-10-01 09:00:01 INFO pesanan diterima id=101\n2026-10-01 09:00:07 ERROR koneksi database gagal\n2026-10-01 09:01:15 INFO pesanan diterima id=102\n2026-10-01 09:02:40 ERROR koneksi database gagal\n2026-10-01 09:03:22 INFO pesanan diterima id=103\n' > pipeline.log

Perintah grep menampilkan hanya baris yang memuat kata ERROR:

bash
grep "ERROR" pipeline.log

Output yang Dihasilkan:

text
2026-10-01 09:00:07 ERROR koneksi database gagal
2026-10-01 09:02:40 ERROR koneksi database gagal

Gabungkan grep dan wc -l dengan pipe untuk langsung mendapatkan jumlah kejadiannya:

bash
grep "ERROR" pipeline.log | wc -l

Output yang Dihasilkan:

text
2

Mekanika pipe-nya sederhana. Perintah grep mengeluarkan dua baris ke stdout, lalu shell mengalirkan keluaran tersebut menjadi masukan wc -l, dan wc -l melaporkan jumlah barisnya.

Perintah ls -l melengkapi pemeriksaan dengan menampilkan izin akses berkas:

bash
ls -l pipeline.log

Output yang Dihasilkan:

text
-rw-rw-r-- 1 z z 245 Oct 16 08:53 pipeline.log

Sepuluh karakter pertama adalah izin akses: rw- untuk pemilik, rw- untuk grup, dan r-- untuk pengguna lain — tanpa x, berkas ini tidak bisa dieksekusi sebagai program. Bukti lain muncul saat kita membuat skrip penghitung error, lalu berusaha menjalankannya sebagai program:

bash
printf '#!/bin/bash\ngrep "ERROR" pipeline.log | wc -l\n' > hitung_error.sh
ls -l hitung_error.sh
chmod +x hitung_error.sh
ls -l hitung_error.sh

Output yang Dihasilkan:

text
-rw-rw-r-- 1 z z 46 Oct 16 08:54 hitung_error.sh
-rwxrwxr-x 1 z z 46 Oct 16 08:54 hitung_error.sh

Perubahan satu karakter — dari rw- menjadi rwx — membuat skrip dapat dijalankan langsung lewat ./hitung_error.sh.

Cek Kesiapan Anda #

  • Anda siap bila dapat berpindah direktori dan melihat isi folder tanpa membuka file manager.
  • Anda siap bila dapat menjelaskan cara kerja pipe dengan contoh grep yang diikuti wc -l.
  • Anda siap bila dapat menghitung jumlah baris yang memuat satu pola di berkas log berukuran besar.
  • Anda siap bila dapat membaca notasi izin -rw-r--r-- dan mengubahnya dengan chmod.

Pipeline jarang berdiri di satu mesin — skrip Anda akan memanggil API dan terhubung ke database di mesin lain. Chapter berikutnya, Dasar Jaringan Komputer, memetakan IP, port, DNS, dan HTTP yang menjadi jalur komunikasinya.