Project Apache Beam

Halaman ini berisi detail project penulisan teknis yang diterima untuk Google Season 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 processing dan stream processing. Apache Beam memungkinkan Anda menentukan model untuk merepresentasikan dan mentransformasi set data, terlepas dari platform pemrosesan data tertentu. Setelah ditentukan, Anda dapat menjalankannya di salah satu framework run-time (runner) yang didukung yang meliputi 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 di “Update 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 tentang setiap pelari di halaman dokumentasi pelari tertentu. Selain itu, saya ingin memperbarui deskripsi contoh proyek jumlah kata untuk menambahkan penjelasan terperinci. Untuk ini, rencana saya adalah mencoba setiap contoh jumlah kata secara lokal di komputer saya dan mencari tahu apakah beberapa langkah hilang dan menambahkan lebih banyak penjelasan tentang prosesnya. Hal lain yang saya perhatikan adalah dokumentasi untuk pelari tidak mengikuti pola apa pun(sedikit sekali yang mendapat bagian ikhtisar sementara yang lain mulai dengan cara menggunakan atau prasyarat atau beberapa judul acak). Saya akan memperbarui semuanya untuk mengikuti satu pola sederhana.

Saya berencana menambahkan halaman baru untuk mendeskripsikan setiap pelari dan memberikan narasi deskriptif untuk setiap pelari[BEAM-3220]. Dari halaman ini, pengguna dapat mengarahkan kembali ke halaman deskripsi terperinci dari 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 skripsi 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 saya mengetahui ada parameter/ konfigurasi yang hilang/dihapus. Sebelum ketika saya menggunakan Flink runner, awalnya saya macet karena salah satu parameter hilang dalam dokumentasi. Namun, sekarang karena saya lebih akrab dengan code base NEXMark serta 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 runner.

Dalam dokumentasi saat ini, dukungan untuk runner klasik/portabel disertakan dalam setiap halaman deskripsi runner. Menurut saya, lebih baik menyatukan semuanya di satu tempat, baik di matriks kemampuan atau 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 besar/kecil yang disebutkan dalam BEAM-2888.

Saya menganggap GSoD sebagai peluang untuk melangkah ke kontribusi {i>open source<i}. Saya akan terus berkontribusi pada proyek open source, khususnya Beam, dan ingin terus menjadi anggota komunitas yang aktif. Karena Apache Beam memiliki komunitas aktif dengan fitur berkelanjutan yang sedang dikembangkan, saya pikir selalu ada ruang untuk meningkatkan dokumentasi agar dapat diperbarui. Selain itu, saya juga ingin berkontribusi pada pekerjaan pengembangan. Jika memiliki pengetahuan yang cukup 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 bekerja dengan 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 beam runner.
  5. Saya memiliki pengalaman menulis blog teknis untuk menjelaskan konsep pemrosesan big data dan sistem terdistribusi.
  6. Saat ini, saya sedang mengerjakan skripsi untuk meningkatkan performa backend status Apache Flink yang menggunakan implementasi Apache Beam NEXMark untuk pembuatan tolok ukur dan saya telah berkontribusi pada pembaruan dokumentasi Apache Beam.
  7. Saya telah memiliki pengalaman kerja selama 4 tahun sebagai developer software, sehingga saya telah menulis beberapa dokumen desain teknis, dokumentasi produk, serta file Readme(yang saat ini tidak saya miliki aksesnya).
  8. Saya menulis dokumentasi sedemikian rupa sehingga siapa pun yang tidak memiliki pengetahuan sebelumnya akan dapat memahaminya secara sekilas.