Apache Beam projesi

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

Proje özeti

Açık kaynak kuruluşu:
Apache Kirişi
Teknik yazar:
Sruthi Sree Kumar
Projenin adı:
Koşucu karşılaştırma sayfası / özellik matrisi güncellemesi
Proje süresi:
Standart uzunluk (3 ay)

Proje açıklaması

Apache Kiriş, hem toplu işlem hem de akış işleme ardışık düzenleri tanımlamak için kullanılan birleşik bir platformdur. Apache Kiriş, belirli bir veri işleme platformundan bağımsız olarak veri kümelerini temsil etmek ve dönüştürmek için bir model tanımlamanıza olanak tanır. Tanımlandıktan sonra Apache Apex, Apache Flink, Apache Spark ve Google Cloud Dataflow'u da 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.

GSOD başvurumu "Çalıştırıcı karşılaştırma sayfası/yetenek matrisi güncellemesi" ile ilgili olarak gönderiyorum. Apache Beam birden fazla koşucuyu ve SDK'yı desteklediğinden, yeni bir kullanıcının bunlar arasından seçim yapması zorlaşacaktır. Farklı koşucuların mevcut belgeleri, koşucuya çok kısa bir genel bakış sağlıyor. Benim fikrim, ilgili koşucu dokümanları sayfasına her koşucuyla ilgili ayrıntıları daha iyi açıklamaktır. Ayrıca, örnek kelime sayısı projesinin açıklamasını da ayrıntılı bir açıklama ile güncellemek istiyorum. Bu amaçla, her kelime sayısı örneğini makinemde yerel olarak deneyip bazı adımların eksik olup olmadığını öğrenip süreçle ilgili daha fazla açıklama eklemeyi planlıyorum. Fark ettiğim bir başka şey de koşuculara ait dokümanların herhangi bir kalıbı izlememesidir. (Çok az kişi bir genel bakış bölümüne sahipken diğerleri nasıl kullanılacağını, ön koşulu veya 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 koşucuya açıklayıcı bir anlatım sunmak için yeni bir sayfa eklemeyi planlıyorum[BEAM-3220]. Kullanıcılar bu sayfadan her koşucunun ve kapasite matrisinin ayrıntılı açıklama sayfasına yönlendirebilir. Buraya her koşucunun açıklayıcı bir karşılaştırmasını da eklemeyi planlıyorum. Şu anda ana tezimde Flink koşucularını karşılaştırmak için Işın NEXMark'ı kullanıyorum. NEXMark karşılaştırmasından tamamen haberdar olduğum için hem toplu hem de akış modundaki 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 parametrelerden biri dokümanlarda eksik olduğu için başlangıçta takılıyordum. Ama artık NEXMark kod tabanını daha iyi öğrendiğim için koşucuları karşılaştırmak ve metrikleri eklemek benim için daha kolay olacak. Aynı sayfada, her koşucunun prodüksiyona hazır olma durumunun kısa bir özetini eklemek istiyorum.

Mevcut dokümanlarda klasik/taşınabilir koşucu desteği her koşucu açıklama sayfasına dahil edilmiştir. Dilerseniz hepsini tek bir yerde, ya kapasite matrisinde ya da yeni eklenen açıklama sayfasında bir araya getirmenin daha iyi olacağını düşünüyorum. Ayrıca, taşınabilirlik desteği şu anda ayrı bir Google e-tablosunda sunulmaktadır. 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 sözü edilen tüm büyük/küçük düzeltmeleri dahil etmeyi planlıyorum.

GSoD'u açık kaynaklı katkılara adım atmak için bir fırsat olarak görüyorum. Özellikle Işınlama ile birlikte açık kaynak projelere katkıda bulunmaya devam edeceğim ve etkin bir topluluk üyesi olarak devam etmek istiyorum. Apache Beam'in sürekli geliştirilen özellikler içeren etkin bir topluluğu olduğundan, dokümanları her zaman daha iyi hale getirmek için iyileştirme yapılabileceğini düşünüyorum. Geliştirme çalışmalarına da katkıda bulunmak isterim. Işınlama'da ses bilgim varsa kullanıcı topluluğuna da yardımcı olabilirim çünkü bunu kullanmaya başladığımda her zaman topluluktan yardım aldım.

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

  1. Veri işleme sistemlerinin iç işleyişini anlamaya çalışan, dağıtılmış bir sistem meraklısıyım.
  2. Apache Beam ve Apache Flink'te kullanıcı olarak çalışma konusunda tecrübe sahibiyim.
  3. Bir geliştirici olarak Apache Beam ve Apache Flink kod tabanını daha önce anladım.
  4. Farklı kirişli koşucuları karşılaştırmak için bir proje hazırladım.
  5. Büyük veri işleme ve dağıtılmış sistemler kavramlarını açıklamak için teknik blog yazma deneyimim var.
  6. Şu anda, karşılaştırma amacıyla Apache Kiriş NEXMark uygulamasını kullandığım ve Apache Beam belgelerini güncellemeye katkıda bulunduğum Apache Flink durum arka ucunun performansını iyileştirmek için ana tezim üzerinde çalışıyorum.
  7. Yazılım geliştiricisi olarak 4 yıllık iş deneyimim olduğu için birden fazla teknik tasarım belgesi, ü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 anlayabileceği şekilde yazıyorum.