September 7, 2026
BIG DATA 3: Pengenalan Big Data & Instalasi Apache Hadoop (Single-Node)
Setelah selesai menyiapkan lingkungan kerjanya, kali ini proses untuk menyiapkan alat alatnya. Alat yang disiapkan kali ini adalah Hadoop…
By Muhammad Fauza Asfadani
11 min read
Setelah selesai menyiapkan lingkungan kerjanya, kali ini proses untuk menyiapkan alat alatnya. Alat yang disiapkan kali ini adalah Hadoop ecosystem (HDFS, YARN, MapReduce). Peran Hadoop disini ialah untuk mengatasi karakteristik dari big data yang velocity dan volume nya terus berkempang dan naik secara pesat. Dengan alat seperti pandas saja tidak cukup karena akan membebani RAM.
Ekosistem dari Hadoop ada 3 dianataranya:
- HDFS (Hadoop Distributed File System) : Lapisan penyimpanan yang memecah belah berkas menjadi blok lalu menyebarkannya (replikasi) ke banyak node (mencegah kegagalan mesin).
- YARN ( Yet Another Resource Negotiator) : Lapisan manajemen sumber daya yang mengatur alokasi CPU/memori cluster dari berbagai aplikasi yang berjalan diatasnya.
- MapReduce : Lapisan pemrosesan, singkatnya untuk memproses potongan data (Map) dan menggabungkannya kembali (Reduce).
Langkah langkah untuk menyiapkan semua alatnya sebagai berikut.
Menginstall Java
Java wajib diinstall karena hadoop dibangun di atas Java. Versi yang digunakan adalah OpenJDK 11 karena paling stabil dan didukung penuh. Berikut langkah langkahnya:
- Mengunduh Java melalui terminal.
- Memverifikasi instalasi java
Pada instruksi awal di modul. Proses installasi java diinstal langsung ke device (menggunakan sudo apt install). Tapi proses tersebut tidak berhasil, diagnosanya adalah;
- Pembatasan oleh jaringan.
- Bertabrakan dengan java di windows karena java terbaca yang diunduh langsung ke versi yang terbaru secara otomatis.
Karena hal tersebut saya kemudian debiritahu teman saya untuk menginstall nya di environment nya (Anaconda). Sehingga proses installasi nya menggunakan conda install. Berikut comand lengkap installasi beserta verifikasi nya:
# command install
conda install -c conda-forge openjdk=11 -y
# command verifikasi
java --version# command install
conda install -c conda-forge openjdk=11 -y
# command verifikasi
java --versionUntuk dokumentasi lengkap praktiknya sebagai berikut:
Menginstall SSH dan Mekonfigrasinya.
SSH disini diperlukan dan dikonfigurasi agar komunikasi antar daemon nya lebih efektif karena SSH localhost tidak perlu memasukkan password. Berikut langkah langkahnya:
- Mengunduh SSH client melalui terminal.
- Membuat pasangan kunci SSH key.
- Mendaftarkan kunci publik agar terpercaya oleh mesin.
- Memverifikasi dengan mencoba menyalakan localhost.
Saat langkah membubuat pasangan key nya, seharusnya user diminta verifikasi lokasi dan paspharse nya. Untuk membuat tidak perlu memasukkan password nya tinggal dilewati dengan menekan enter. Tapi kebetulan disini saya tidak ada proses verifikasinya, dan proses tetap berhasil dengan menyalakan localhost tanpa dimintai password. Comand lengkap prosesnya sebagai berikut:
# command mengunduh SSH
sudo apt install openssh-server openssh-client -y
# command membuat ssh key
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
# comand mendaftarkan ssh key
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# mengatur hak akses (akses baca tulis hanya ke pemilik file)
chmod 0600 ~/.ssh/authorized_keys
# memferivikasi konfigurasi
ssh localhost
# keluar localhost
exit# command mengunduh SSH
sudo apt install openssh-server openssh-client -y
# command membuat ssh key
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
# comand mendaftarkan ssh key
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# mengatur hak akses (akses baca tulis hanya ke pemilik file)
chmod 0600 ~/.ssh/authorized_keys
# memferivikasi konfigurasi
ssh localhost
# keluar localhost
exitDokumentasi praktik:
Melakukan installasi Hadoop.
Setelah selesai menyiapkan semua komponen komponen yang dibutuhkan Hadoop. Sekarang lanjut installasi Hadoopnya, versi yang diinstal menggunakan versi 3.4.3 . Berikut langkah langkahnya:
- Mengunduh Hadoop di lokal disk (home).
- Mengekstrak file
tar.gzyang sudah diunduh. - Mengganti nama folder hasil ekstraksi untuk kemudahan pengetikkan.
- Memverifikasi folder hadoop sudah ada atau belum
Berikut untuk command lengkapnya:
# Mengatur tempat unduh
cd ~
# Mengunduh berkas hadoop
wget https://downloads.apache.org/hadoop/common/hadoop-3.4.3/hadoop-3.4.3.tar.gz
# Mengekstrak hadoop
tar -xzvf hadoop-3.4.3.tar.gz
# Mengganti nama folder
mv hadoop-3.4.3 hadoop
# Verifikasi installasi hadoop
ls ~/hadoop
# Mengatur tempat unduh
cd ~
# Mengunduh berkas hadoop
wget https://downloads.apache.org/hadoop/common/hadoop-3.4.3/hadoop-3.4.3.tar.gz
# Mengekstrak hadoop
tar -xzvf hadoop-3.4.3.tar.gz
# Mengganti nama folder
mv hadoop-3.4.3 hadoop
# Verifikasi installasi hadoop
ls ~/hadoop
Dokumentasi praktik:
Sebagai tambahan proses installasi terdapat banyak cara, salah satunya adalah dengan wget yang saya gunakan diatas. Namun, terdapat cara install yang memiliki performa lebih cepat, yaitu dengan aria. Cara ini dapat membantu jika proses unduh terlalu lam asaat menggunakan wget. Berikut cara menyiapkan dan komparasi nya:
# Menginstall aria
sudo apt update
sudo apt install aria2
# Komparasi kecepatan unduh
time wget -O test_wget.bin http://tele2.net # Unduh file dengan wget
time aria2c -x16 -s16 -o test_aria2.bin http://tele2.net # Unduh file dengan aria# Menginstall aria
sudo apt update
sudo apt install aria2
# Komparasi kecepatan unduh
time wget -O test_wget.bin http://tele2.net # Unduh file dengan wget
time aria2c -x16 -s16 -o test_aria2.bin http://tele2.net # Unduh file dengan ariaDokumentasi proses:
Dilihat dari gambar hasil udnuh kedua metode tersebut aria terbukti memiliki kecepatan yang lebih cepat dibandingkan dengan wget. Kecepatan rata rata unduh menggunakan wget sebesar 223KB/s sedangkan aria 3 kali lebih cepat sebesar 661KB/s. Dan juga aria dapat menyelesaikan proses secara cepat dengan total waktu proses 1,832 detik dibanding wget yang 5,511 detik. Aria dapat melakukan proses dengan lebih cepat karena membagi file unduhan ke dalam beberapa jalur (koneksi paralel) secara bersamaan, sehingga bisa memaksimalkan bandwith internet.
Konfigurasi Environment Variabel.
Konfigurasi ini diperlukan untuk mengefisiensi pemanggilan command agar bisa dilakukan dimana saja. Berikut langkah langkahnya:
- Mengedit berkas bash dengan text editor nano.
- Menambahkan script konfigurasi, dan menyimpannya.
- Muat ulang konfigurasi dan verifikasi konfigurasi.
Comand lengkap beserta script konfigurasi.
# membuka file bashrc
nano ~/.bashrc
# script konfigurasi (ditambahkan di file melalui teks editor nano)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_HOME=$HOME/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$JAVA_HOME/bin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
# muat ulang konfigurasi
source ~/.bashrc
# verifikasi konfigurasi
echo $HADOOP_HOME
hadoop version# membuka file bashrc
nano ~/.bashrc
# script konfigurasi (ditambahkan di file melalui teks editor nano)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_HOME=$HOME/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$JAVA_HOME/bin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
# muat ulang konfigurasi
source ~/.bashrc
# verifikasi konfigurasi
echo $HADOOP_HOME
hadoop versionDokumentasi praktikum sebagai berikut.
Dilihat pada dokumentasi praktik, saya tidak menggunakan bashrc karena shell saya sudah ganti dengan ekstension zsh. Sehingga proses konfigurasinya ke zshrc.
Konfigurasi Berkas Hadoop.
Konfigurasi berikut menjadi langkah yang wajib dalam penggunaan hadoop untuk mode pseudo-distributed. Berikut langkah langkah konfigurasinya:
- Memberi path java ke hadoop, mengkonfigurasi file
hadoop-env.sh - Mengkonfigurasi utama (alamat HDFS), file
core-site.xml - Mengkonfigurasi HDFS, diawali dengan mencari tahu path home direktorinya. File
hdfs-site.xml - Mengkonfigurasi MapReduce. File
mapred-site.xml - Mengkonfigurasi YARN. File
yarn-ste.xml
Berikut command dan script prosesnya:
# Proses konfigurasi (mengedit/menambah script di tiap file)
# Konfigurasi hadoop-env.sh
nano ~/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
# Konfigurasi core-site.xml
nano ~/hadoop/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
# Konfigurasi hdfs-site.xml
echo $HOME # Mencari tahu path home direktorinya.
# Membuat folder
mkdir -p ~/hadoopdata/hdfs/namenode
mkdir -p ~/hadoopdata/hdfs/datanode
nano ~/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/mahasiswa/hadoopdata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/mahasiswa/hadoopdata/hdfs/datanode</value>
</property>
</configuration>
# Konfigurasi mapred-site.xml
nano ~/hadoop/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
# Konfigurasi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration># Proses konfigurasi (mengedit/menambah script di tiap file)
# Konfigurasi hadoop-env.sh
nano ~/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
# Konfigurasi core-site.xml
nano ~/hadoop/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
# Konfigurasi hdfs-site.xml
echo $HOME # Mencari tahu path home direktorinya.
# Membuat folder
mkdir -p ~/hadoopdata/hdfs/namenode
mkdir -p ~/hadoopdata/hdfs/datanode
nano ~/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/mahasiswa/hadoopdata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/mahasiswa/hadoopdata/hdfs/datanode</value>
</property>
</configuration>
# Konfigurasi mapred-site.xml
nano ~/hadoop/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
# Konfigurasi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>Untuk dokumentasi praktiknya sebagai berikut:
Format HDFS NameNode
Sebelum HDFS digunakan, layaknya hardisk fisik. HDFS harus diformat terlebih dahuku untuk dapat digunakan, dengan catatan format hanya dilakukan satu kalik dan wajib di awal. Karena jika melakukan format saat sudah ada data di HDFS nya akan hilang. Berikut langkah langkah dan dokumentasinya:
hdfs namenode -formathdfs namenode -format
Proses memformat berhasil dilihat dari hasil log yang menampilkan 'Storage directory … has been successfully formatted'.
Menjalankan Hadoop Daemons.
Menjalankan proses Hadoop . Langkah langkah untuk menjalankan proses HDFS dan dokumentasinya:
# Menjalankan proses HDFS
start-dfs.sh
# Menjalankan proses YARN
start-yarn.sh
# Verifikasi daemon yang berjalan
jps# Menjalankan proses HDFS
start-dfs.sh
# Menjalankan proses YARN
start-yarn.sh
# Verifikasi daemon yang berjalan
jps
Sebagai catatan jika saat verifikasi tidak menampilakan hasil seperti gambar 32, maka ulangi proses konfigurasinya. Untuk mematikan proses daemond nya bisa menuliskan comand:
# Mematikan HDFS
stop-dfs.sh
# Mematikan YARN
stop-yarn.sh# Mematikan HDFS
stop-dfs.sh
# Mematikan YARN
stop-yarn.shSelalu matikan daemon saat tidak digunakan untuk kebiasaan baik sehingga tidak memakan resource device.
Akses Web UI Hadoop
Hadoop memiliki web ui yang digunakan untuk dashboard analisis, bisa diakses melalui:
- NameNodeUI : localhost:9870
- ResourceManagerUI : localhost8088
Keberhasilan mengakses web UI tersebut juga menandakan keberhasilan dari proses installasi hadoopnya.
Jupyter Notebook dan HandsOn Hadoop.
Cek version hadoop di jupyter notenook.
!hdfs version!hdfs version
Setelah cek versi hadoopnya berhasil bisa lanjut ke handson perintah dasar hadoop. Berikut handsoon nya.
Praktik dan dokumentasi dari implementasi commandnya sebagai berikut:
# Membuat direktori kerja pribadi di HDFS
# HDFS memiliki struktur folder sendiri, terpisah dari folder Linux biasa
!hdfs dfs -mkdir -p /user/asfadani/praktikum
# Menampilkan isi direktori root HDFS untuk verifikasi
!hdfs dfs -ls /user/asfadani
# Membuat berkas teks sederhana di disk lokal VM (bukan HDFS) sebagai contoh
with open("contoh_lokal.txt", "w") as f:
f.write("Halo dari Praktikum Big Data!\n")
f.write("Berkas ini awalnya tersimpan di disk lokal.\n")
print("Berkas lokal berhasil dibuat.")
!ls -la contoh_lokal.txt
# Upload (put) berkas lokal ke dalam HDFS
!hdfs dfs -put contoh_lokal.txt /user/asfadani/praktikum/
# Verifikasi berkas sudah ada di HDFS
!hdfs dfs -ls /user/asfadani/praktikum
# Melihat berkas di HDFS
!hdfs dfs -cat /user/asfadani/praktikum/contoh_lokal.txt
# Mengunduh (get) berkas dari HDFS kembali ke disk lokal dengan nama berbeda
!hdfs dfs -get /user/asfadani/praktikum/contoh_lokal.txt hasil_unduh_dari_hdfs.txt
# Verifikasi isinya sama
!cat hasil_unduh_dari_hdfs.txt
# -du: menampilkan ukuran penggunaan disk di HDFS
!hdfs dfs -du -h /user/asfadani/praktikum
# -count: menampilkan jumlah direktori, berkas, dan total ukuran
!hdfs dfs -count /user/asfadani/praktikum
# Menghapus satu berkas di HDFS
!hdfs dfs -rm /user/asfadani/praktikum/contoh_lokal.txt
# Verifikasi berkas sudah terhapus (direktori seharusnya kosong sekarang)
!hdfs dfs -ls /user/asfadani/praktikum# Membuat direktori kerja pribadi di HDFS
# HDFS memiliki struktur folder sendiri, terpisah dari folder Linux biasa
!hdfs dfs -mkdir -p /user/asfadani/praktikum
# Menampilkan isi direktori root HDFS untuk verifikasi
!hdfs dfs -ls /user/asfadani
# Membuat berkas teks sederhana di disk lokal VM (bukan HDFS) sebagai contoh
with open("contoh_lokal.txt", "w") as f:
f.write("Halo dari Praktikum Big Data!\n")
f.write("Berkas ini awalnya tersimpan di disk lokal.\n")
print("Berkas lokal berhasil dibuat.")
!ls -la contoh_lokal.txt
# Upload (put) berkas lokal ke dalam HDFS
!hdfs dfs -put contoh_lokal.txt /user/asfadani/praktikum/
# Verifikasi berkas sudah ada di HDFS
!hdfs dfs -ls /user/asfadani/praktikum
# Melihat berkas di HDFS
!hdfs dfs -cat /user/asfadani/praktikum/contoh_lokal.txt
# Mengunduh (get) berkas dari HDFS kembali ke disk lokal dengan nama berbeda
!hdfs dfs -get /user/asfadani/praktikum/contoh_lokal.txt hasil_unduh_dari_hdfs.txt
# Verifikasi isinya sama
!cat hasil_unduh_dari_hdfs.txt
# -du: menampilkan ukuran penggunaan disk di HDFS
!hdfs dfs -du -h /user/asfadani/praktikum
# -count: menampilkan jumlah direktori, berkas, dan total ukuran
!hdfs dfs -count /user/asfadani/praktikum
# Menghapus satu berkas di HDFS
!hdfs dfs -rm /user/asfadani/praktikum/contoh_lokal.txt
# Verifikasi berkas sudah terhapus (direktori seharusnya kosong sekarang)
!hdfs dfs -ls /user/asfadani/praktikum
Itu semua praktik salam menyiapkan hadoop ekosistem sebagai alat di linkungan kerja bigdata. Semua proses dapat berjalan sesuai modul, hanya kendala saat installasi java karena pembatasan proxy jaringannya. Tapi selebihnya dapat berjalan lancar. Proses praktikum sudah selesai lanjut ke tugas dibawah.
Latihan Mandiri
Latihan mandiri dibawah masih proses hadoop. Berikut pengerjaan saya.
Tugas Mandiri
Tugas mandiri kali ini melakukan proses analisis data dari sebuah studi kasus. Diberikan sebuah skenario dan dataset yang sudah disiapkan, pertama tama ambil datasetnya dengan menjalankan script yang disiapkan.
# Sel ini menghasilkan TIGA dataset cabang (kota) terpisah untuk Tugas Mandiri Pertemuan 3
import numpy as np
import pandas as pd
kategori_list = ["Elektronik", "Fashion", "Makanan & Minuman", "Kesehatan & Kecantikan", "Rumah Tangga"]
metode_bayar_list = ["Transfer Bank", "E-Wallet", "COD", "Kartu Kredit"]
tanggal_range = pd.date_range("2026-08-01", "2026-08-31", freq="D")
cabang_kota = {"Magelang": 101, "Yogyakarta": 202, "Semarang": 303}
for kota, seed in cabang_kota.items():
np.random.seed(seed) # seed berbeda tiap kota agar datanya bervariasi, namun tetap konsisten/reproducible
n = 200
data_cabang = {
"order_id": [f"{kota[:3].upper()}-{2000 + i}" for i in range(n)],
"tanggal": np.random.choice(tanggal_range, size=n),
"kategori": np.random.choice(kategori_list, size=n, p=[0.25, 0.25, 0.20, 0.15, 0.15]),
"unit_terjual": np.random.randint(1, 8, size=n),
"harga_satuan": np.random.choice([25000, 50000, 75000, 100000, 150000, 250000], size=n),
"metode_pembayaran": np.random.choice(metode_bayar_list, size=n),
}
df_cabang = pd.DataFrame(data_cabang)
df_cabang["kota"] = kota
nama_file = f"transaksi_{kota.lower()}.csv"
df_cabang.to_csv(nama_file, index=False)
print(f"Berkas '{nama_file}' berhasil dibuat: {df_cabang.shape[0]} baris")
print("\nKetiga berkas CSV cabang siap digunakan untuk Tugas Mandiri.")# Sel ini menghasilkan TIGA dataset cabang (kota) terpisah untuk Tugas Mandiri Pertemuan 3
import numpy as np
import pandas as pd
kategori_list = ["Elektronik", "Fashion", "Makanan & Minuman", "Kesehatan & Kecantikan", "Rumah Tangga"]
metode_bayar_list = ["Transfer Bank", "E-Wallet", "COD", "Kartu Kredit"]
tanggal_range = pd.date_range("2026-08-01", "2026-08-31", freq="D")
cabang_kota = {"Magelang": 101, "Yogyakarta": 202, "Semarang": 303}
for kota, seed in cabang_kota.items():
np.random.seed(seed) # seed berbeda tiap kota agar datanya bervariasi, namun tetap konsisten/reproducible
n = 200
data_cabang = {
"order_id": [f"{kota[:3].upper()}-{2000 + i}" for i in range(n)],
"tanggal": np.random.choice(tanggal_range, size=n),
"kategori": np.random.choice(kategori_list, size=n, p=[0.25, 0.25, 0.20, 0.15, 0.15]),
"unit_terjual": np.random.randint(1, 8, size=n),
"harga_satuan": np.random.choice([25000, 50000, 75000, 100000, 150000, 250000], size=n),
"metode_pembayaran": np.random.choice(metode_bayar_list, size=n),
}
df_cabang = pd.DataFrame(data_cabang)
df_cabang["kota"] = kota
nama_file = f"transaksi_{kota.lower()}.csv"
df_cabang.to_csv(nama_file, index=False)
print(f"Berkas '{nama_file}' berhasil dibuat: {df_cabang.shape[0]} baris")
print("\nKetiga berkas CSV cabang siap digunakan untuk Tugas Mandiri.")Setelah menjalankan script tersebut, akan menghasilkan 3 file csv sebagai datasetnya.
Langkah berikutnya adalah membuat notebook baru sebagai tempat analisis datanya. Saat akan membuat notebook baru, pilih kernel tersebut sebagai kernelnya.
Setelah notebook dibuat lanjuk ke proses analisi.
Membangun struktur direktori HDFS
Membuat direktori penyimpanan data mentah dan data jadi di dua tempat berbeda.
Mengunggah data mentah ke HDFS
Untuk dapat dianalisis, data harus diunggah dahulu untuk dibaca.
Proses tersebut terdapat kegagalan saat pertama kali saya ingin mengunggahnya karena langsung menunggah di satu line yang sama, yang ke unggah hanya 1 file terakhir.
Membaca dan Menggabungkan Data.
Untuk membaca file dari HDFS di notebook, kita bisa membangun koneksinya menggunakan library pyarrow. Library dapat diinstal dahulu menggunakan perintah pip.
Setelah menginstaal alatnya, lanjut bangun koneksinya. Diawali import librarynya dan buat script untuk mengkoneksikannya.
Pada percobaan pertama untuk membangun koneksi saya mendapat kegagalan. Setelah saya troubleshoot dengan dibantu dengan AI, ternyata ada konfigurasi yang belum lengkap. Sehingga proses koneksi tidak dapat membaca jalurnya. Lalu untuk mengatasi masalah tersebut saya mengatur ulang konfigurasi file bash nya. Script yang saya atur ulang sebagai berikut:
# path HADOOP_HOME menjadi
"/home/asfadani/hadoop"
# line baru yang ditambahkan
export HADOOP_CONF_DIR="$HADOOP_HOME/etc/hadoop"
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath --glob)
export ARROW_LIBHDFS_DIR="$HADOOP_HOME/lib/native"# path HADOOP_HOME menjadi
"/home/asfadani/hadoop"
# line baru yang ditambahkan
export HADOOP_CONF_DIR="$HADOOP_HOME/etc/hadoop"
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath --glob)
export ARROW_LIBHDFS_DIR="$HADOOP_HOME/lib/native"
Setelah mengedit file bash, bisa dimuat ulang bash nya dan restart kernel notebooknya. Lalu buat penghubung ke HDFS nya lagi.
Mengolah data dan Download ke Direktori
- Menambahkan kolom total penjualan dari hasil (unit terjual * harga satuan)
- Membuat tabel rangkuman sesuai kota, dan kategori dan memuat kolom (kota, kategori, total pendapatan).
- Menyimpan data dan mengunggah ke HDFS.
Dokumentasi dan Refleksi
Reflektif:
Salah satu keuntungan yang paling jelas dari menyimpan file dataset yang telah dilakukan pemrosesan (dibersihkan, dan sebagainya) dengan yang mentah di 2 folder berbeda adalah kerapian dan kemudahan untuk mengaksesnya. Jika file jadi dengan file mentah disatukan kita akan bingung jika suatu saat ingin membutuhkan filenya untuk sebuah projek. Selain itu juga menyimpan file dengan kondisi berbeda juga menjadi salah satu syarat clean architecture di dunia pemrograman. Pembagian penyimpanan data ini juga memudahkan dalam pengerjaan kolaborasi, sehingga orang lain yang akan mengakses datanya tidak kebingungan. Dalam pelacakan perubahan dari datanya juga menjadi mudah jika datanya disimpan ke folder yang berbeda. Selain itu juga membuat proses lebih efisien pada pipeline project, untuk mengatur data diambil dari mana dan akan disimpan di mana nantinya.
Demikian praktikum sesi kali ini. Sekian dan terimaksih.
Referensi dan Lampiran
Sebagai bagian dari transparansi dan dokumentasi teknis, seluruh kode sumber yang digunakan dalam praktikum ini telah diunggah ke repositori GitHub. Hal ini juga bertujuan untuk memudahkan pengelolaan versi (version control) di masa mendatang.
- Repositori GitHub: https://github.com/asfadani/asfadani_kuliah.git
- Modul : Modul 3 : Pengenalan Big Data & Instalasi Apache Hadoop (Single-Node)— Universitas Tidar.
- Referensi : pandas.DataFrame.groupby — pandas 3.0.5 documentation
Disusun Oleh
Muhammad Fauza Asfadani / 2505060011