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.
Kek nya itu dulu aja sih postingan kali ini, rencananya besok mau coba mendalami kode, improve pakai sqlalchemy (karena banyak referensi pakai ini, mungkin biar gak ribet ngatur driver), kemudian pelajari SparkSession biar next time gak pusing start stop. Gas mau lanjut yg lain dulu.

Komentar

Postingan populer dari blog ini

What have i learn in almost 3 weeks?

Bikin ETL Sederhana Menggunakan Python dan PostgreSQL

Intensity atau Consistency?