Apache Beam projesi

Bu sayfa, Google Dokümanlar Sezonu için kabul edilen teknik yazı projesinin ayrıntılarını içerir.

Proje özeti

Açık kaynak kuruluşu:
Apache Beam
kullanır.
Teknik yazar:
Sruthi Sree Kumar
Proje adı:
Çalıştırıcı karşılaştırma sayfası / yetenek matrisi güncellemesi
Proje süresi:
Standart uzunluk (3 ay)

Proje açıklaması

Apache Beam, hem toplu işlem hem de akış işleme ardışık düzenleri tanımlamak için kullanılan birleşik bir platformdur. Apache Beam sayesinde, belirli veri işleme platformlarından bağımsız olarak veri kümelerini temsil edecek ve dönüştürecek bir model tanımlayabilirsiniz. Tanımlandıktan sonra Apache Apex, Apache Flink, Apache Spark ve Google Cloud Dataflow'u içeren desteklenen çalışma zamanı çerçevelerinden (koşucular) herhangi birinde çalıştırabilirsiniz. Apache Beam'de, ardışık düzeninizi Java, python ve GO gibi programlama dillerinde yazabilmenizi sağlayan farklı SDK'lar da bulunur.

"Çalıştırıcı karşılaştırma sayfası/yetenek matrisi güncellemesi" ile ilgili GSOD başvurumu gönderiyorum. Apache Beam birden fazla koşucuyu ve SDK'yı desteklediğinden yeni bir kullanıcının bunlardan birini seçmesi kafa karışıklığı yaratacaktır. Farklı koşuculara ait mevcut belgeler, koşucuya çok kısa bir genel bakış sağlıyor. Benim fikrim, ilgili koşucu dokümantasyonu sayfasına her koşucu hakkında daha fazla ayrıntı eklemek. Ayrıca, örnek kelime sayısı projesinin açıklamasını da ayrıntılı bir açıklama ekleyerek güncellemek istiyorum. Bunun için planım, her kelime sayısı örneğini makinemde yerel olarak deneyip bazı adımların eksik olup olmadığını bulup süreçle ilgili daha fazla açıklama eklemek. Fark ettiğim bir başka durum da koşucularla ilgili belgelerin belirli bir kalıbı izlememesidir. (Çok az kişi bir genel bakış bölümüne sahipken bazıları kullanım veya önkoşulla ya da rastgele bir başlıkla başlıyor.) Hepsini tek bir basit kalıbı izleyecek şekilde güncelleyeceğim.

Her koşucuyu açıklamak ve her birine açıklayıcı bir öykü vermek için yeni bir sayfa eklemeyi planlıyorum[BEAM-3220]. Kullanıcılar bu sayfadan her koşucunun ayrıntılı açıklama sayfasına ve yetenek matrisine yönlendirebilir. Ayrıca burada her koşucunun açıklayıcı karşılaştırmasını da eklemeyi planlıyorum. Şu anda yüksek lisans tezim için Flink koşucularını karşılaştırmak amacıyla Beam NEXMark'ı kullanıyorum. NEXMark karşılaştırmasından tamamen haberdar olduğum için hem toplu modda hem de akış modunda her koşucunun karşılaştırma sonuçlarını buraya(BEAM-2944) eklemek istiyorum. Ayrıca, herhangi bir parametrenin/ yapılandırmanın eksik olduğunu/kaldırıldığını tespit edersem NEXMark belgelerini de güncellerim. Flink Runner'ı kullanmadan önce dokümanlarda parametrelerden biri eksik olduğu için başlangıçta takılıyordum. Ama artık NEXMark kod tabanını daha iyi bildiğim için koşucuları karşılaştırıp metrikleri eklemem daha kolay olacak. Aynı sayfada, her koşucunun üretime hazırlık durumunun kısa bir özetini eklemek istiyorum.

Mevcut belgelerde, klasik/taşınabilir koşucu desteği her çalıştırıcı açıklama sayfasında yer almaktadır. Bence bunların hepsini ya özellik matrisinde ya da yeni eklenen açıklama sayfasında tek bir yerde toplamak daha iyi. Ayrıca, taşınabilirlik desteği şu anda ayrı bir Google e-tablosunda sağlanıyor. Bu e-tabloyu uyumluluk matrisiyle birleştirmek istiyorum. https://docs.google.com/spreadsheets/d/1KDa_FGn1ShjomGd-UUDOhuh2q73de2tPz6BqHpzqvNI/edit#gid=0). Bu görevin bir parçası olarak, BEAM-2888’de bahsedilen tüm büyük/küçük düzeltmeleri dahil etmeyi planlıyorum.

GSoD'yi açık kaynaklı katkılara adım atmak için bir fırsat olarak görüyorum. Özellikle Beam açık kaynak projelere katkıda bulunmaya ve etkin bir topluluk üyesi olarak devam etmek istiyorum. Apache Beam'in sürekli geliştirilen özelliklere sahip etkin bir topluluğu olduğundan, ürünü güncellemek için belgelerin geliştirilmesine her zaman yer verilebileceğini düşünüyorum. Ayrıca geliştirme çalışmalarına da katkıda bulunmak istiyorum. Beam'i kullanmaya başlarken topluluktan yardım aldığım için, Beam'de ses bilgisine sahipsem kullanıcı topluluğuna da yardımcı olabilirim.

Bu proje için doğru kişi olduğuma inanıyorum çünkü:

  1. Veri işleme sistemlerinin iç unsurlarını anlamaya çalışan, dağıtılmış sistemler meraklısı bir kişiyim.
  2. Kullanıcı olarak Apache Beam ve Apache Flink ile çalışma konusunda deneyimim var.
  3. Apache Beam ve Apache Flink kod tabanını geliştirici olarak zaten anladım.
  4. Farklı kirişli koşucuları karşılaştırmak için bir proje yaptım.
  5. Büyük veri işleme ve dağıtılmış sistem kavramlarını açıklamak için teknik blog yazma konusunda deneyime sahibim.
  6. Şu anda, karşılaştırma için Apache Beam NEXMark uygulamasını kullandığım ve Apache Beam belgelerinin güncellenmesine katkıda bulunduğum Apache Flink durumu arka ucunun performansını iyileştirmek üzere ana tezim üzerinde çalışıyorum.
  7. Yazılım geliştirici olarak 4 yıllık iş deneyimim olduğu için birden fazla teknik tasarım dokümanı, ürün dokümanı ve Readme dosyası yazdım(bu dosyalara şu anda erişimim yok).
  8. Belgeleri, önceden bilgisi olmayan kişilerin ilk bakışta anlayacağı şekilde yazıyorum.