Project Apache Beam

Halaman ini berisi detail project penulisan teknis yang diterima untuk Google Season of Docs.

Ringkasan project

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

Project description

Apache Beam adalah platform terpadu untuk menentukan pipeline pemrosesan batch dan streaming. 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 runtime (runner) yang didukung, termasuk Apache Apex, Apache Flink, Apache Spark, dan Google Cloud Dataflow. Apache Beam juga dilengkapi dengan SDK yang berbeda 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 memilih di antara keduanya. Dokumentasi saat ini dari berbagai pelari memberikan gambaran singkat tentang pelari. Ide saya adalah menambahkan detail yang lebih mudah dipahami tentang setiap runner di halaman dokumentasi runner tertentu. Selain itu, saya ingin memperbarui deskripsi contoh project penghitungan kata untuk menambahkan penjelasan mendetail. Untuk itu, rencana saya adalah mencoba setiap contoh penghitungan kata secara lokal di komputer saya dan mencari tahu apakah ada beberapa langkah yang terlewat dan menambahkan penjelasan lebih lanjut tentang prosesnya. Hal lain yang saya perhatikan adalah dokumentasi untuk runner tidak mengikuti pola apa pun(Hanya sedikit yang memiliki bagian ringkasan, sementara yang lain dimulai dengan cara menggunakan atau prasyarat atau beberapa judul acak). Saya akan memperbarui semuanya untuk mengikuti satu pola sederhana.

Aku berencana menambah halaman baru untuk mendeskripsikan tiap pelari dan memberikan narasi deskriptif untuk setiap pelari[BEAM-3220]. Dari halaman ini, pengguna dapat mengalihkan ke halaman deskripsi mendetail setiap runner dan matriks kemampuan. Saya juga berencana menambahkan perbandingan deskriptif untuk setiap runner di sini. Saat ini, saya menggunakan Beam NEXMark untuk menjalankan benchmark pada runner Flink untuk tesis master saya. Karena saya sepenuhnya mengetahui benchmark NEXMark, saya ingin menyertakan hasil benchmark setiap runner dalam mode batch dan streaming di sini(BEAM-2944). Saya juga akan memperbarui dokumentasi NEXMark jika menemukan parameter/ konfigurasi yang hilang/dihapus. Sebelumnya, saat menggunakan runner Flink, saya mengalami masalah karena salah satu parameter tidak ada dalam dokumentasi. Namun, sekarang karena saya lebih memahami codebase NEXMark, akan lebih mudah bagi saya untuk menjalankan benchmark pada runner dan menambahkan metrik. Di halaman yang sama ini, saya ingin menyertakan ringkasan singkat tentang kesiapan produksi setiap runner.

Dalam dokumentasi saat ini, dukungan untuk runner klasik/portabel disertakan di setiap halaman deskripsi runner. Saya rasa sebaiknya semua informasi tersebut juga ditampilkan di satu tempat, baik dalam matriks kemampuan maupun di halaman deskripsi yang baru ditambahkan. Selain itu, saat ini, dukungan portabilitas dipertahankan dalam sheet 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 utama/minor yang disebutkan dalam BEAM-2888.

Saya menganggap GSoD sebagai peluang untuk berkontribusi pada open source. Saya akan terus berkontribusi pada project open source, terutama Beam, dan ingin terus menjadi anggota komunitas yang aktif. Karena Apache Beam memiliki komunitas aktif dengan fitur yang terus dikembangkan, saya rasa selalu ada cakupan untuk meningkatkan dokumentasi agar selalu diperbarui. Selain itu, saya juga ingin berkontribusi pada pekerjaan pengembangan. Jika saya memiliki pengetahuan yang luas tentang Beam, saya juga dapat membantu komunitas pengguna karena saya selalu mendapat bantuan dari komunitas saat mulai menggunakan Beam.

Saya yakin 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 dalam menggunakan Apache Beam dan Apache Flink sebagai pengguna.
  3. Sebagai developer, saya telah memahami code base Apache Beam dan Apache Flink.
  4. Saya telah membuat proyek untuk membandingkan berbagai 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 tesis master untuk meningkatkan performa backend status Apache Flink yang menggunakan implementasi Apache Beam NEXMark untuk benchmark dan saya telah berkontribusi dalam memperbarui dokumentasi Apache Beam.
  7. Karena saya memiliki pengalaman kerja selama 4 tahun sebagai developer software, saya telah menulis beberapa dokumen desain teknis serta dokumentasi produk dan file Readme(yang saat ini tidak saya miliki aksesnya).
  8. Saya menulis dokumentasi sedemikian rupa sehingga siapa pun yang belum memahaminya dapat langsung memahaminya.