Ta strona zawiera szczegóły projektu technicznego do pisania w sezonie Dokumentów Google.
Podsumowanie projektu
- Organizacja open source:
- Apache Beam
- Specjalista ds. technicznych:
- Sruthi Sree Kumar
- Nazwa projektu:
- Aktualizacja strony porównywania biegaczy lub macierzy 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 umożliwia zdefiniowanie modelu, który będzie reprezentować i przekształcać zbiory danych niezależnie od konkretnej platformy do przetwarzania danych. Po zdefiniowaniu możesz uruchomić go na dowolnej obsługiwanej platformie wykonawczej (runnerze), w tym Apache Apex, Apache Flink, Apache Spark i Google Cloud Dataflow. Apache Beam zawiera też różne pakiety SDK, które umożliwiają tworzenie potoku w językach programowania, takich jak Java, Python i Go.
Przesyłam zgłoszenie dotyczące GSOD dotyczące strony z porównaniem runnerów i tablicy porównawczej możliwości. Ponieważ Apache Beam obsługuje wiele runnerów i pakietów SDK, nowy użytkownik może mieć problem z wybraniem odpowiedniego. Obecna dokumentacja różnych biegaczy zawiera bardzo krótkie omówienie biegu. Chcę dodać więcej szczegółów dotyczących poszczególnych runnerów na stronie dokumentacji konkretnego runnera. Chcę też zaktualizować opis przykładowego projektu zliczania słów, aby dodać do niego szczegółowe wyjaśnienie. W tym celu zamierzam wypróbować na swoim komputerze każdy przykład zliczania słów, aby sprawdzić, czy nie brakuje jakichś kroków, i dodać więcej wyjaśnień dotyczących tego procesu. Zauważyłem też, że dokumentacja dla biegaczy nie jest uporządkowana według żadnego schematu(nieliczne sekcje zawierają ogólne informacje, inne zaczynają się od opisu sposobu użycia lub wymagań wstępnych albo mają losowy tytuł). Zaktualizuję je wszystkie według jednego, prostego wzorca.
Planuję dodać nową stronę, na której opiszę każdego biegacza i dodam do każdego z nich opisowy tekst[BEAM-3220]. Z tej strony użytkownicy mogą przejść na stronę z szczegółowym opisem każdego runnera i matricą możliwości. Planuję też dodać opisowe porównanie każdego z uczestników. Obecnie do porównywania wykonawców Flinka w ramach pracy magisterskiej używam Beam NEXMark. Ponieważ znam się na testach porównawczych NEXMark, chcę tutaj podać wyniki testów porównawczych każdego uczestnika zarówno w trybie zbiorczym, jak i strumiennym(BEAM-2944). Jeśli okaże się, że brakuje lub usunięto jakieś parametry lub konfigurację, zaktualizuję też dokumentację NEXMark. Wcześniej, gdy używałem Flink runner, miałem problem, ponieważ w dokumentacji brakowało jednego z parametrów. Jednak teraz, gdy znam lepiej bazę kodu NEXMark, łatwiej mi będzie porównać wyniki z biegaczami i dodać dane. Na tej stronie chcę podać krótkie podsumowanie gotowości każdego biegacza do wdrożenia wersji produkcyjnej.
W bieżącej dokumentacji obsługa klasycznej/przenośnej gry biegowej jest uwzględniona na każdej stronie z opisem biegu. Myślę, że lepiej też umieścić je wszystkie w jednym miejscu: w tabeli możliwości lub na nowo dodanej stronie z opisem. Obecnie informacje o przenoszeniu są dostępne w osobnym arkuszu Google, który chcielibyśmy scalić z macierzą zgodności (https://docs.google.com/spreadsheets/d/1KDa_FGn1ShjomGd-UUDOhuh2q73de2tPz6BqHpzqvNI/edit#gid=0). W ramach tego zadania zamierzam uwzględnić wszystkie większe/drobne poprawki wymienione w kodzie BEAM-2888.
GSoD to dla mnie okazja do wniesienia swojego wkładu w rozwój oprogramowania open source. Będę nadal brać udział w projektach open source, zwłaszcza Beam, i chcę nadal być aktywnym członkiem społeczności. Apache Beam ma aktywną społeczność, która nieustannie rozwija funkcje, dlatego zawsze jest miejsce na ulepszenie dokumentacji i jej uaktualnienie. Chcę też brać udział w rozwijaniu projektu. Jeśli mam solidną wiedzę na temat Beam, mogę też pomóc społeczności użytkowników, ponieważ gdy zaczynałem korzystać z Beam, zawsze otrzymywałem pomoc od społeczności.
Uważam, że jestem odpowiednią osobą do tego projektu, ponieważ:
- Jestem entuzjastą systemów rozproszonych, który próbuje zrozumieć wewnętrzną strukturę systemów przetwarzania danych.
- Mam doświadczenie w pracy z Apache Beam i Apache Flink.
- Znam już bazę kodu Apache Beam i Apache Flink jako programista.
- Przeprowadziłem projekt porównujący różne beam runnery.
- Mam doświadczenie w pisaniu blogów technicznych, w których wyjaśniam pojęcia związane z przetwarzaniem dużych zbiorów danych i systemami rozproszonymi.
- Obecnie pracuję nad pracą magisterską, której celem jest poprawa wydajności backendu stanu Apache Flink. Do testów porównawczych używam implementacji Apache Beam NEXMark. Współtworzę też aktualizację dokumentacji Apache Beam.
- Mam 4 letnie doświadczenie w programowaniu i stworzyłem wiele dokumentów projektowych, dokumentacji produktów oraz plików Readme(do których obecnie nie mam dostępu).
- Opracowuję dokumentację w taki sposób, aby każdy bez dotychczasowej wiedzy zrozumieł ją od razu.