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:
| Perintah | Peran |
|---|---|
pwd, cd, ls | melihat lokasi aktif dan berpindah direktori |
cat, head, tail | melihat isi berkas, bagian awal, atau bagian akhir |
grep | mencari baris yang memuat pola tertentu |
| (pipe) | mengalirkan keluaran satu perintah menjadi masukan perintah berikutnya |
wc -l | menghitung jumlah baris |
chmod | mengubah izin akses berkas |
man | membaca 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:
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.logPerintah grep menampilkan hanya baris yang memuat kata ERROR:
grep "ERROR" pipeline.logOutput yang Dihasilkan:
2026-10-01 09:00:07 ERROR koneksi database gagal
2026-10-01 09:02:40 ERROR koneksi database gagalGabungkan grep dan wc -l dengan pipe untuk langsung mendapatkan jumlah kejadiannya:
grep "ERROR" pipeline.log | wc -lOutput yang Dihasilkan:
2Mekanika 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:
ls -l pipeline.logOutput yang Dihasilkan:
-rw-rw-r-- 1 z z 245 Oct 16 08:53 pipeline.logSepuluh 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:
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.shOutput yang Dihasilkan:
-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.shPerubahan 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
grepyang diikutiwc -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 denganchmod.
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.