Sebelum menyentuh Apache Spark, kalian perlu menguasai dasar data engineering, familiar dengan JVM/Python/Scala, dan memahami konsep distributed computing. Di episode ini kalian menyiapkan Java JDK, menginstall Spark, dan memverifikasi instalasi pertama.

Selamat datang di series Belajar Apache Spark! Series ini akan membawa kalian menguasai Apache Spark — engine pemrosesan data terdistribusi paling banyak dipakai di dunia data engineering — mulai dari fondasi konsep sampai production readiness. Total ada 23 episode yang tersusun dari enam fase.
Tapi sebelum menjalankan spark-submit pertama, ada beberapa skill dasar dan perangkat lunak yang wajib kalian miliki. Mengapa prasyarat ini penting? Karena Spark bukan sekadar library Python biasa. Dia adalah distributed engine yang menjalankan pekerjaan melintasi banyak mesin, sehingga pemahaman tentang JVM, cluster, dan pemrosesan paralel menjadi fondasi yang tidak bisa ditawar.
Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar, menyiapkan Java JDK, menginstall Apache Spark, memverifikasi instalasi pertama, dan menyiapkan tool tambahan seperti Docker dan Git. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.
Kalian harus paham konsep data engineering dasar: apa itu ETL (extract, transform, load), batch processing versus stream processing, dan bagaimana data mengalir dari sumber ke penyimpanan analitik. Pahami juga istilah big data seperti volume, velocity, dan variety — karena ketiganya menentukan mengapa satu mesin saja tidak cukup dan mengapa kita butuh cluster.
Spark adalah aplikasi JVM. Kode inti Spark ditulis dalam Scala dan berjalan di atas Java Virtual Machine. Kalian cukup nyaman dengan salah satu dari: Python (untuk PySpark), Scala (untuk API native Spark), atau Java. Python adalah pintu masuk paling populer karena sintaksnya ringkas, sementara Scala memberi kontrol paling penuh atas API Spark.
java -version
python3 --versionPastikan Java menampilkan versi 11 atau 17, dan Python menampilkan versi 3.9 atau lebih baru. Keduanya akan kita gunakan sepanjang series.
Konsep paling penting: Spark membagi data menjadi partisi, mengirimkan tugas ke banyak executor yang berjalan paralel, lalu menggabungkan hasilnya. Pahami istilah master, worker, node, dan network shuffle — pertukaran data antar node yang menjadi sumber utama biaya performa. Detail arsitektur ini akan kita bedah mendalam di episode 2.
Spark SQL memakai SQL sebagai salah satu antarmuka utamanya. Kalian wajib nyaman dengan SELECT, WHERE, GROUP BY, dan JOIN. Kenali juga format data umum: CSV, JSON, Parquet, dan Avro. Parquet adalah format kolom yang paling sering dipakai di dunia Spark karena kompresi dan kecepatan membacanya — akan kita bahas di episode 8.
Langkah pertama adalah memastikan JVM tersedia. Di Ubuntu, install OpenJDK 17:
sudo apt update
sudo apt install openjdk-17-jdk
java -versionSpark versi terbaru membutuhkan Java 17, jadi rekomendasi utama adalah JDK 17. Jika sistem kalian sudah memiliki Java 11, itu juga masih didukung, tapi sebaiknya patuhi standar terbaru.
Unduh binary release Spark dari situs resmi apache.org. Untuk penulisan series ini, gunakan versi Spark 4.0 yang sudah stabil. Ekstrak ke direktori seperti /opt/spark dan set environment variable:
export SPARK_HOME=/opt/spark
export PATH=$SPARK_HOME/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64Agar permanen, tambahkan baris di atas ke file ~/.bashrc. Verifikasi:
spark-shell --versionPerintah spark-shell --version menampilkan versi Spark dan Scala yang terpasang. Jika muncul version 4.0.x, instalasi kalian sudah benar.
Untuk episode 8-9 nanti, kalian membutuhkan penyimpanan untuk data. Ada dua pilihan: HDFS (distributed file system dari ekosistem Hadoop) atau object storage seperti S3 dan GCS. Untuk belajar lokal, kalian cukup memakai file system biasa, karena Spark memperlakukan folder lokal sebagai sumber data. Namun menyiapkan Docker untuk HDFS akan sangat membantu di fase 3.
Untuk kalian yang memilih PySpark, buat virtual environment lalu install pyspark:
python3 -m venv .venv
source .venv/bin/activate
pip install pysparkPaket pyspark ikut membawa binary Spark sehingga kalian tidak perlu mengunduh manual jika hanya memakai Python. Tool yang disarankan juga: Docker untuk menjalankan HDFS atau cluster lokal, Git untuk version control, dan editor seperti VS Code atau Jupyter Notebook.
Tip
Konsistensi environment penting. Simpan konfigurasi environment di satu tempat dan dokumentasikan versi Java, Spark, dan Python kalian. Ini akan menghindari kebingungan saat serial ini masuk ke fase deployment.
Spark menuntut memori karena berjalan sebagai proses JVM. Rekomendasi minimum untuk mengikuti series ini: RAM 8GB (16GB lebih nyaman), CPU quad-core, dan SSD 20GB+ untuk menyimpan data dan aplikasi Spark. Laptop modern umumnya sudah memenuhi syarat ini.
Sebelum lanjut ke episode 1, jalankan verifikasi lengkap. Pastikan semua perintah berikut mengeluarkan output tanpa error:
java -version → Java 17
python3 --version → Python 3.9+
spark-shell --version → Spark 4.0.x
docker --version → Docker Engine aktif
git --version → Git tersediaJika semua baris di atas berjalan, environment kalian siap. Uji cepat PySpark juga dengan kode berikut:
from pyspark.sql import SparkSession
spark = SparkSession.builder.master("local[*]").appName("cek").getOrCreate()
df = spark.range(5)
print(df.collect())
spark.stop()Pemanggilan SparkSession.builder.master("local[*]") membuat session lokal yang memakai semua core CPU — ini pola paling umum untuk development. Jika df.collect() mengembalikan [Row(id=0), ..., Row(id=4)], maka seluruh stack siap dipakai.
Rangkuman prasyarat yang sudah kalian siapkan di episode 0:
JAVA_HOME yang benar.spark-shell --version berjalan.pyspark.Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Fondasi environment yang kuat akan membuat 22 episode berikutnya jauh lebih lancar.
Di episode 0 ini kalian sudah menyiapkan pijakan untuk seluruh series: memahami skill dasar data engineering dan distributed computing, menginstall Java JDK 17, menyiapkan Apache Spark 4.0, membuat environment PySpark, dan memverifikasi operasi pertama.
Inti yang harus dibawa pulang:
spark-shell --version berjalan.Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa memilih Spark — evolusi dari MapReduce dan ekosistem Hadoop, keunggulan in-memory computation, perbedaannya dengan Hadoop MapReduce, Flink, dan Beam, serta use cases nyata di industri. Pastikan environment kalian sudah siap, karena perjalanan Belajar Apache Spark baru saja dimulai!