Projekt Apache Beam

Ta strona zawiera szczegółowe informacje na temat projektu dotyczącego pisania technicznego zaakceptowanego do udziału w sezonie Dokumentów Google.

Podsumowanie projektu

Organizacja open source:
Apache Beam
Pisarz techniczny:
Sruthi Sree Kumar
Nazwa projektu:
Aktualizacja strony z porównaniem biegaczy / macierzu możliwości
Długość projektu:
Standardowa długość (3 miesiące)

Opis projektu

Apache Beam to ujednolicona platforma do definiowania potoków przetwarzania wsadowego i strumieniowego. Apache Beam pozwala zdefiniować model do reprezentowania i przekształcania zbiorów danych niezależnie od konkretnej platformy przetwarzania danych. Po zdefiniowaniu możesz go uruchomić na dowolnej z obsługiwanych platform wykonawczych (runner), takich jak Apache Apex, Apache Flink, Apache Spark i Google Cloud Dataflow. Pakiet Apache Beam zawiera też różne pakiety SDK, które umożliwiają pisanie potoku w językach programowania, takich jak Java, python czy GO.

Przesyłam zgłoszenie do GSOD na stronie „Aktualizacja strony porównania/Macierz możliwości biegowych”. Apache Beam obsługuje wiele uruchamiających i pakietów SDK, więc nowy użytkownik nie będzie mógł dokonać wyboru. Obecna dokumentacja różnych biegaczy zawiera krótkie omówienie biegaczy. Chciałbym dodać więcej szczegółów na temat każdego biegacza na stronie dokumentacji konkretnego biegacza. Chcę też zaktualizować opis przykładowego projektu polegającego na liczeniu słów, aby dodać szczegółowe wyjaśnienie. W tym celu chcę wypróbować lokalnie na komputerze przykład liczby słów i sprawdzić, czy brakuje niektórych kroków, i dodać więcej informacji. Widzę też, że dokumentacja dla biegaczy nie jest zgodna z żadnym wzorcem(niektóre mają sekcję przeglądu, a inni zaczynają od sposobu korzystania, od warunku wstępnego lub od losowego tytułu). Uaktualniam je wszystkie, aby były zgodne z jednym prostym wzorem.

Planuję dodać nową stronę opisującą każdego biegacza i jego opisową narracją [BEAM-3220]. Użytkownicy mogą na niej przekierowywać widzów na stronę ze szczegółowym opisem każdego biegacza i tabelą możliwości. Zamierzam też dodać opisowe porównanie każdego biegacza. Obecnie używam Beam NEXMark do porównania wyników z biegaczami Flink w mojej pracy magisterskiej. Wiem o testach porównawczych NEXMark w pełni, dlatego załączam tutaj wyniki testów porównawczych każdego biegacza zarówno w trybie wsadowym, jak i strumieniowym(BEAM-2944). Zaktualizuję też dokumentację NEXMark, jeśli okaże się, że brakuje lub została usunięta jakieś parametry/konfiguracja. Wcześniej korzystałem z narzędzia Flink Runner, ponieważ brakowało jednego z parametrów w dokumentacji. Teraz, gdy znam lepiej bazę kodu NEXMark, łatwiej mi będzie porównać biegi i dodać dane. Na tej samej stronie chcę krótko przedstawić gotowość każdego biegacza do wdrożenia wersji produkcyjnej.

W bieżącej dokumentacji obsługa klasycznych/przenośnych biegówek jest dostępna na stronie z opisem każdej gry biegowej. Myślę, że lepiej byłoby umieścić je wszystkie w jednym miejscu: z tabeli możliwości lub na nowo dodanej stronie z opisem. Informacje na temat przenośności są obecnie dostępne w osobnym arkuszu Google, który chcę scalić z tabelą zgodności: https://docs.google.com/spreadsheets/d/1KDa_FGn1ShjomGd-UUDOhuh2q73de2tPz6BqHpzqvNI/edit#gid=0). W ramach tego zadania zamierzam uwzględnić wszystkie duże i małe poprawki, o których mowa w BEAM-2888.

Uważam, że GSoD to szansa na wsparcie w tworzeniu darowizn na zasadach open source. Nadal będę aktywnie uczestniczyć w projektach open source, a zwłaszcza Beam, i dalej jestem aktywnym członkiem społeczności. Apache Beam ma aktywną społeczność, w której stale opracowujemy funkcje, dlatego myślę, że zawsze istnieje możliwość ulepszenia dokumentacji w celu jej aktualizacji. Chciałabym też wziąć udział w programowaniu. Jeśli dysponuję solidną wiedzą na temat Beam, mogę też pomóc społeczności użytkowników, ponieważ na początku korzystania z Beam zawsze zapewniała mi pomoc od niej.

Uważam, że jestem odpowiednią osobą do tego projektu, ponieważ:

  1. Jestem entuzjastką systemów rozproszonych i chcę poznać wewnętrzne mechanizmy systemów przetwarzania danych.
  2. Mam doświadczenie w pracy z Apache Beam i Apache Flink jako użytkownik.
  3. Znam już bazę kodu Apache Beam i Apache Flink jako deweloper.
  4. Zrealizowałem projekt, który ma na celu porównanie różnych biegunów.
  5. Mam doświadczenie w pisaniu blogów technicznych, by wyjaśnić pojęcia przetwarzania big data i systemów rozproszonych.
  6. Obecnie pracuję nad swoją rozprawą magiczną z myślą o zwiększeniu wydajności backendu stanu Apache Flink, w którym używam implementacji Apache Beam NEXMark do testów porównawczych. Uczestniczę też w aktualizacji dokumentacji Apache Beam.
  7. Ponieważ mam 4 lata doświadczenia jako deweloper oprogramowania, napisałam wiele dokumentów technicznych i dokumentacji produktów oraz plików Readme(do których obecnie nie mam dostępu).
  8. Tworzę dokumentację w taki sposób, aby każda osoba, która nie miała wcześniejszej wiedzy, mogła je od razu zrozumieć.