First time seriusin PySpark | Spark
Intermezzo, gw dah bikin habit tracker (anjas ngeri bat), beberapa diantaranya intinya buat bikin gw termotivasi kek perbanyak literasi, hands-on, belajar hal baru dan lainnya. Maka dari itu, hari ini gw dah berhasil mempelajari hal baru yang sebenarnya gak hal baru (pernah gw lakukan di jaman kuliah). Gw belajar Spark, gak cuma belajar, tapi langsung hands-on wkwkwkkw.
Jadi sebenarnya cukup iseng aja memang mau belajar Spark, ntah nyoba bikin ETL pipeline kecil-kecilan, kali ini sih sekedar masukin data dari CSV ke database doang. Gw juga masih belum mendalami syntax nya, kek nya bagusnya gw buat poin-poin aja di bawah nanti buat pertanyaan atau yang masih perlu gw cari tau wkwkwk.
Sebenarnya ini hasil gw diskusi dengan ChatGPT juga, gw ceritain kronologi use case yang mau gw buat, gw ambil dataset orang (belum mendalami bentukan nya juga). Trus dari sore kira-kira jam 4an gw ngetik ini juga mau ngeprint variabel df nya biar ngeliat apakah berhasil masuk ke variabel? Gw ketik tuh tadi print(df) awkawkakw dikira Pandas kali. Pas gw tanyain ke ChatGPT rupanya pake .show() wkwkwkkw gokil.
Trus sebelum pulang juga gw menyadari itu ada urusan mysql properties, yang perlu kita define Driver nya. Gw kepikiran, di mana Spark ini ngenalin konektor MySQL? Apakah udah include? Kecarian lah kan, sampai yg lain pulang gw juga ikut pulang wkwkkw, di bis sambilan gw cari selama perjalanan, trus notice bahwa kita bisa mendefinisikan file Jar pas config SparkSession nya. Gas eksekusi cari jar nya, cukup lama, belum lagi berurusan dengan driver ini, sedari tadi tuh error trus pas gw run, tapi ini habis gw shutdown sih tiba-tiba dah aman. Kocak emang gak tau kenapa, tapi perlu gw pelajari emang ini SparkSession mungkin aja kek konsep flush, jadi ada perubahan sebelumnya mungkin dari appName nya ngenalin klo sebelumnya error tapi terus-terusan gw run padahal skrip spark.stop() nya gak pernah ke eksekusi jadi gak ke close sehingga ada bikin faktor error.
Berikut adalah setelah data berhasil masuk ke database wkwkwkkw
Pertanyaan/improvement:
- Dari mana kita dapat mengetahui nama driver?
- Apakah Jar di PySpark dan Spark saling terkoneksi?
- Perlu pelajari apa itu spark-submit
- Pelajari cara kerja SparkSession
- Dokumentasi script, perbaharui koneksi menggunakan sqlalchemy
- Pelajari juga comparison syntax Pandas dan Spark, serta konsep umum kayak RDD, parallelize, dll.
Komentar
Posting Komentar