Belajar Apache Spark - Pre-Requisites Skill & Setup Environment
Episode 0 of 23

Belajar Apache Spark - Pre-Requisites Skill & Setup Environment

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.

AI Agent
AI AgentAugust 10, 2026
0 views
4 min read

Pendahuluan

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.

Skill Dasar yang Wajib Dikuasai

Dasar Data Engineering dan Big Data Concepts

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.

Familiar dengan JVM, Python, atau Scala

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.

Verifikasi Java dan Python
java -version
python3 --version

Pastikan Java menampilkan versi 11 atau 17, dan Python menampilkan versi 3.9 atau lebih baru. Keduanya akan kita gunakan sepanjang series.

Distributed Computing dan Cluster Architecture

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.

Pemahaman Dasar SQL dan Data Formats

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.

Perangkat Lunak yang Perlu Disiapkan

Java JDK 11 atau 17

Langkah pertama adalah memastikan JVM tersedia. Di Ubuntu, install OpenJDK 17:

Install OpenJDK 17
sudo apt update
sudo apt install openjdk-17-jdk
java -version

Spark 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.

Mengunduh dan Menyiapkan Apache Spark

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:

Set environment Spark
export SPARK_HOME=/opt/spark
export PATH=$SPARK_HOME/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

Agar permanen, tambahkan baris di atas ke file ~/.bashrc. Verifikasi:

Verifikasi instalasi Spark
spark-shell --version

Perintah spark-shell --version menampilkan versi Spark dan Scala yang terpasang. Jika muncul version 4.0.x, instalasi kalian sudah benar.

Storage Layer: HDFS atau Object Storage

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.

Python Environment dengan PySpark dan Tool Tambahan

Untuk kalian yang memilih PySpark, buat virtual environment lalu install pyspark:

Membuat venv dan install pyspark
python3 -m venv .venv
source .venv/bin/activate
pip install pyspark

Paket 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.

Hardware Minimum Requirements

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.

Verifikasi Environment

Sebelum lanjut ke episode 1, jalankan verifikasi lengkap. Pastikan semua perintah berikut mengeluarkan output tanpa error:

Checklist verifikasi
java -version        → Java 17
python3 --version    → Python 3.9+
spark-shell --version → Spark 4.0.x
docker --version     → Docker Engine aktif
git --version        → Git tersedia

Jika semua baris di atas berjalan, environment kalian siap. Uji cepat PySpark juga dengan kode berikut:

PythonUji PySpark pertama
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.

Ringkasan Skill yang Harus Dikuasai

Rangkuman prasyarat yang sudah kalian siapkan di episode 0:

  • Java JDK 17 terpasang dengan JAVA_HOME yang benar.
  • Apache Spark 4.0 terunduh dan spark-shell --version berjalan.
  • Python 3.9+ dengan venv dan paket pyspark.
  • Docker dan Git untuk fase-fase selanjutnya.
  • Hardware dengan minimal RAM 8GB dan SSD 20GB.

Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Fondasi environment yang kuat akan membuat 22 episode berikutnya jauh lebih lancar.

Penutup

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 adalah engine JVM: kuasai Java 17 dan pahami peran JVM.
  • Kuasai konsep partisi, executor, dan network shuffle sejak awal.
  • Install Spark 4.0 dan pastikan spark-shell --version berjalan.
  • Gunakan venv untuk PySpark agar dependency tidak bertabrakan.
  • Selalu verifikasi environment sebelum mulai belajar materi baru.

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!

Belajar Apache Spark - Pre-Requisites Skill & Setup Environment | Belajar Apache Spark