Project Apache Beam

Halaman ini berisi detail proyek penulisan teknis yang diterima untuk Google Season of Dokumen.

Ringkasan proyek

Organisasi open source:
Apache Beam
Penulis teknis:
Sree Kumar
Nama proyek:
Pembaruan halaman perbandingan runner / matriks kemampuan
Durasi proyek:
Durasi standar (3 bulan)

Project description

Apache Beam adalah platform terpadu untuk menentukan pipeline batch dan stream processing. Apache Beam memungkinkan Anda menentukan model untuk merepresentasikan dan mengubah set data terlepas dari platform pemrosesan data tertentu. Setelah ditentukan, Anda dapat menjalankannya di salah satu framework run-time (runner) yang didukung yang mencakup Apache Apex, Apache Flink, Apache Spark, dan Google Cloud Dataflow. Apache Beam juga dilengkapi dengan berbagai SDK yang memungkinkan Anda menulis pipeline dalam bahasa pemrograman seperti Java, python, dan GO.

Saya mengirimkan permohonan untuk GSOD tentang “Pembaruan halaman perbandingan runner/matriks kemampuan”. Karena Apache Beam mendukung beberapa runner dan SDK, pengguna baru akan bingung untuk memilih di antara keduanya. Dokumentasi saat ini dari berbagai pelari memberikan gambaran yang sangat singkat tentang para pelari. Ide saya adalah menambahkan lebih banyak detail pemahaman dari setiap pelari di halaman dokumentasi pelari tertentu. Selain itu, saya ingin memperbarui deskripsi contoh project jumlah kata untuk menambahkan penjelasan mendetail. Untuk ini, rencana saya adalah mencoba setiap contoh jumlah kata secara lokal di mesin saya dan mencari tahu apakah beberapa langkah hilang dan menambahkan penjelasan lebih lanjut tentang prosesnya. Hal lain yang saya perhatikan adalah dokumentasi untuk pelari tidak mengikuti pola apa pun(Beberapa memiliki bagian ringkasan sementara yang lain mulai dengan cara menggunakan atau prasyarat atau judul acak). Saya akan memperbarui semuanya untuk mengikuti satu pola sederhana.

Saya berencana menambahkan halaman baru untuk mendeskripsikan setiap pelari dan memberikan narasi deskriptif kepada mereka[BEAM-3220]. Dari halaman ini, pengguna dapat dialihkan ke halaman deskripsi mendetail setiap pelari dan matriks kemampuan. Saya juga berencana untuk menambahkan perbandingan deskriptif dari setiap pelari di sini. Saat ini, saya menggunakan Beam NEXMark untuk menjalankan benchmark Flink runner untuk tesis master saya. Karena saya benar-benar mengetahui benchmark NEXMark, saya ingin menyertakan hasil benchmark dari setiap runner dalam mode batch dan streaming di sini(BEAM-2944). Saya juga akan memperbarui dokumentasi NEXMark jika ada parameter/ konfigurasi yang hilang/dihapus. Sebelum ketika saya menggunakan Flink runner, saya awalnya terjebak karena salah satu parameter yang hilang dalam dokumentasi. Namun, karena saya juga lebih terbiasa dengan code base NEXMark, akan lebih mudah bagi saya untuk menjalankan benchmark pada runner dan menambahkan metrik. Di halaman yang sama, saya ingin menyertakan ringkasan singkat tentang kesiapan produksi setiap pelari.

Dalam dokumentasi saat ini, dukungan untuk runner klasik/portabel disertakan dalam setiap halaman deskripsi runner. Menurut saya, lebih baik membawa semuanya di satu tempat, baik di matriks kemampuan atau di halaman deskripsi yang baru ditambahkan. Selain itu, saat ini, dukungan portabilitas dipertahankan dalam lembar google terpisah yang ingin saya gabungkan ke matriks kompatibilitas. https://docs.google.com/spreadsheets/d/1KDa_FGn1ShjomGd-UUDOhuh2q73de2tPz6BqHpzqvNI/edit#gid=0). Sebagai bagian dari tugas ini, saya berencana untuk menyertakan semua koreksi besar/kecil yang disebutkan dalam BEAM-2888.

Saya menganggap GSoD sebagai peluang untuk masuk ke kontribusi {i>open source<i}. Saya akan terus berkontribusi pada proyek open source terutama Beam dan ingin terus aktif sebagai anggota komunitas. Karena Apache Beam memiliki komunitas aktif dengan fitur yang berkelanjutan yang sedang dikembangkan, saya pikir selalu ada ruang untuk meningkatkan dokumentasi agar dapat diperbarui. Selain itu, saya juga ingin berkontribusi dalam pekerjaan pengembangan. Jika memiliki pengetahuan yang mendalam tentang Beam, saya juga dapat membantu komunitas pengguna karena saya selalu mendapatkan bantuan dari komunitas ketika saya mulai menggunakan Beam.

Saya percaya bahwa saya adalah orang yang tepat untuk proyek ini karena:

  1. Saya adalah penggemar sistem terdistribusi yang mencoba memahami bagian dalam sistem pemrosesan data.
  2. Saya memiliki pengalaman menggunakan Apache Beam dan Apache Flink sebagai pengguna.
  3. Saya sudah memahami code base Apache Beam dan Apache Flink sebagai developer.
  4. Saya telah melakukan proyek untuk membandingkan berbagai pemain beam runner.
  5. Saya memiliki pengalaman dalam menulis blog teknis untuk menjelaskan konsep pemrosesan big data dan sistem terdistribusi.
  6. Saat ini, saya sedang mengerjakan skripsi master untuk meningkatkan performa backend status Apache Flink yang memerlukan implementasi Apache Beam NEXMark untuk benchmark, dan saya telah berkontribusi dalam memperbarui dokumentasi Apache Beam.
  7. Karena saya memiliki pengalaman kerja sebagai developer software selama 4 tahun, saya telah menulis beberapa dokumen desain teknis, dokumentasi produk, serta file Readme(yang saat ini tidak saya akses).
  8. Saya menulis dokumentasi sedemikian rupa sehingga siapa pun yang tidak memiliki pengetahuan sebelumnya dapat langsung memahaminya.