Bu yazı Capitec'ten Preshen Goobiah ve Johan Olivier ile birlikte yazılmıştır.
Apache Spark, büyük ölçekli veri iş yüklerini yönetmesiyle tanınan, yaygın olarak kullanılan açık kaynaklı bir dağıtılmış işleme sistemidir. Spark ile çalışan geliştiriciler arasında sıklıkla uygulama bulur. Amazon EMR'si, Amazon Adaçayı Yapıcı, AWS Tutkal ve özel Spark uygulamaları.
Amazon Kırmızıya Kaydırma Apache Spark ile sorunsuz entegrasyon sunarak hem Amazon Redshift tarafından sağlanan kümelerde hem de Redshift verilerinize kolayca erişmenizi sağlar. Amazon Redshift Sunucusuz. Bu entegrasyon, AWS analitiği ve makine öğrenimi (ML) çözümlerine yönelik olanakları genişleterek veri ambarının daha geniş bir uygulama yelpazesi için erişilebilir olmasını sağlar.
İle Apache Spark için Amazon Redshift entegrasyonuJava, Scala, Python, SQL ve R gibi popüler dilleri kullanarak Spark uygulamalarını hızlı bir şekilde başlatabilir ve zahmetsizce geliştirebilirsiniz. Uygulamalarınız, optimum performansı ve işlem tutarlılığını korurken Amazon Redshift veri ambarınızdan sorunsuz bir şekilde okuma ve yazma işlemi gerçekleştirebilir. Ayrıca, operasyonlarınızın verimliliğini daha da artıran, aşağı açılan optimizasyonlar aracılığıyla performans iyileştirmelerinden yararlanacaksınız.
Capitec21 milyondan fazla bireysel bankacılık müşterisiyle Güney Afrika'nın en büyük bireysel bankası olan , Güney Afrikalıların daha iyi yaşayabilmeleri için daha iyi bankacılık yapmasına yardımcı olmak amacıyla basit, uygun fiyatlı ve erişilebilir finansal hizmetler sunmayı amaçlıyor. Bu yazıda açık kaynak Amazon Redshift bağlayıcısının Capitec'in paylaşılan hizmetler Özellik Platformu ekibi tarafından başarılı entegrasyonunu tartışıyoruz. Apache Spark için Amazon Redshift entegrasyonunun kullanılması sonucunda geliştirici üretkenliği 10 kat arttı, özellik oluşturma hatları kolaylaştırıldı ve veri tekrarı sıfıra indirildi.
iş fırsatı
Capitec'in Perakende Kredi bölümleri genelinde AWS Glue ile oluşturulmuş 19 özelliğin kullanımına yönelik 93 tahmine dayalı model bulunmaktadır. Özellik kayıtları Amazon Redshift'te depolanan gerçekler ve boyutlarla zenginleştirilmiştir. Apache PySpark, çeşitli kaynaklardan gelen verileri düzenlemek için hızlı, merkezi olmayan ve ölçeklenebilir bir mekanizma sunduğu için özellikler oluşturmak üzere seçildi.
Bu üretim özellikleri, işletme içinde gerçek zamanlı sabit vadeli kredi başvurularının, kredi kartı başvurularının, toplu aylık kredi davranışlarının izlenmesinin ve toplu günlük maaş tanımlamasının sağlanmasında önemli bir rol oynamaktadır.
Veri kaynağı sorunu
PySpark veri hatlarının güvenilirliğini sağlamak için Kurumsal Veri Ambarında (EDW) depolanan hem boyut hem de olgu tablolarından kayıt düzeyinde tutarlı verilere sahip olmak önemlidir. Bu tablolar daha sonra çalışma zamanında Kurumsal Veri Gölü'ndeki (EDL) tablolarla birleştirilir.
Özellik geliştirme sırasında veri mühendisleri EDW için kusursuz bir arayüze ihtiyaç duyar. Bu arayüz, EDW'deki gerekli verilere erişmelerine ve bunları veri hatlarına entegre etmelerine olanak tanıyarak özelliklerin verimli bir şekilde geliştirilmesine ve test edilmesine olanak tanır.
Önceki çözüm süreci
Önceki çözümde ürün ekibi veri mühendisleri, Redshift verilerini Spark'a manuel olarak sunmak için çalıştırma başına 30 dakika harcıyordu. Adımlar aşağıdakileri içeriyordu:
- Python'da önceden belirlenmiş bir sorgu oluşturun.
- Bir gönder BOŞALT aracılığıyla sorgulama Amazon Redshift Veri API'sı.
- Örnekleme kullanılarak AWS SDK for Pandas aracılığıyla AWS Glue Data Catalog'daki katalog verileri.
Bu yaklaşım büyük veri kümeleri için sorunlara yol açıyordu, platform ekibinin yinelenen bakım yapmasını gerektiriyordu ve otomatikleştirilmesi karmaşıktı.
Mevcut çözüme genel bakış
Capitec, özellik oluşturma ardışık düzenleri kapsamında Apache Spark için Amazon Redshift entegrasyonuyla bu sorunları çözmeyi başardı. Mimari aşağıdaki diyagramda tanımlanmıştır.
İş akışı aşağıdaki adımları içerir:
- Dahili kütüphaneler AWS Glue PySpark işine şu adresten yüklenir: AWS Kodu Yapısı.
- Bir AWS Glue işi, Redshift kümesi kimlik bilgilerini şuradan alır: AWS Sırları Yöneticisi ve paylaşılan dahili kitaplık aracılığıyla Amazon Redshift bağlantısını kurar (küme kimlik bilgilerini, kaldırma konumlarını, dosya formatlarını enjekte eder). Apache Spark için Amazon Redshift entegrasyonu aynı zamanda aşağıdakilerin kullanımını da destekler: AWS Kimlik ve Erişim Yönetimi (IAM)'e kimlik bilgilerini alın ve Amazon Redshift'e bağlanın.
- Spark sorgusu Amazon Redshift için optimize edilmiş bir sorguya çevrilir ve EDW'ye gönderilir. Bu, Apache Spark için Amazon Redshift entegrasyonuyla gerçekleştirilir.
- EDW veri kümesi geçici bir önek içine boşaltılır. Amazon Basit Depolama Hizmeti (Amazon S3) kovası.
- S3 klasöründeki EDW veri kümesi, Apache Spark için Amazon Redshift entegrasyonu aracılığıyla Spark yürütücülerine yüklenir.
- EDL veri kümesi, AWS Glue Veri Kataloğu aracılığıyla Spark yürütücülerine yüklenir.
Bu bileşenler, veri mühendislerinin ve üretim veri işlem hatlarının Apache Spark için Amazon Redshift entegrasyonunu uygulamak, sorguları çalıştırmak ve verilerin Amazon Redshift'ten EDL'ye boşaltılmasını kolaylaştırmak için gerekli araçlara sahip olmasını sağlamak üzere birlikte çalışır.
AWS Glue 4.0'da Apache Spark için Amazon Redshift entegrasyonunu kullanma
Bu bölümde, S3 veri gölünde bulunan bir kredi başvuru tablosunu PySpark'taki Redshift veri ambarındaki müşteri bilgileriyle zenginleştirerek Apache Spark için Amazon Redshift entegrasyonunun faydasını gösteriyoruz.
The dimclient
Amazon Redshift'teki tablo aşağıdaki sütunları içerir:
- Müşteri Anahtarı – INT8
- İstemciAltKey – VARCHAR50
- Parti Tanımlayıcı Numarası – VARCHAR20
- MüşteriOluşturmaTarihi - TARİH
- İptal edildi – INT2
- RowIsCurrent – INT2
The loanapplication
AWS Glue Data Catalog'daki tablo aşağıdaki sütunları içerir:
- Kayıt Kimliği – BÜYÜK
- Günlük Tarihi – ZAMAN DAMGASI
- Parti Tanımlayıcı Numarası - SİCİM
Redshift tablosu, Apache Spark için Amazon Redshift entegrasyonu aracılığıyla okunur ve önbelleğe alınır. Aşağıdaki koda bakın:
Kredi başvuru kayıtları S3 veri gölünden okunarak zenginleştirilir. dimclient
Amazon Redshift bilgilerine ilişkin tablo:
Sonuç olarak, kredi başvuru kaydı (S3 veri gölünden) aşağıdakilerle zenginleştirilmiştir: ClientCreateDate
sütun (Amazon Redshift'ten).
Apache Spark için Amazon Redshift entegrasyonu veri kaynağı sorununu nasıl çözüyor?
Apache Spark için Amazon Redshift entegrasyonu, aşağıdaki mekanizmalar aracılığıyla veri kaynağı sorununu etkili bir şekilde giderir:
- Tam zamanında okuma – Apache Spark bağlayıcısı için Amazon Redshift entegrasyonu, Redshift tablolarını tam zamanında okuyarak veri ve şema tutarlılığını sağlar. Bu özellikle değerlidir Tip 2 yavaş değişen boyut (SCD) ve anlık görüntü gerçeklerini biriktiren zaman aralığı. Bu Redshift tablolarını, üretim PySpark ardışık düzenleri içindeki EDL'deki kaynak sistem AWS Glue Data Catalog tablolarıyla birleştiren bağlayıcı, veri bütünlüğünü korurken birden fazla kaynaktan gelen verilerin sorunsuz entegrasyonunu sağlar.
- Optimize edilmiş Redshift sorguları – Apache Spark için Amazon Redshift entegrasyonu, Spark sorgu planının optimize edilmiş bir Redshift sorgusuna dönüştürülmesinde önemli bir rol oynar. Bu dönüştürme süreci, veri yerelliği ilkesine bağlı kalarak ürün ekibinin geliştirme deneyimini basitleştirir. Optimize edilmiş sorgular, Amazon Redshift'in yeteneklerini ve performans optimizasyonlarını kullanarak PySpark ardışık düzenleri için Amazon Redshift'ten verimli veri alımı ve işleme sağlar. Bu, veri kaynağı operasyonlarının genel performansını artırırken geliştirme sürecini kolaylaştırmaya yardımcı olur.
En iyi performansı elde etmek
Apache Spark için Amazon Redshift entegrasyonu, performansı optimize etmek için yüklemeyi ve sorgu aşağı itmeyi otomatik olarak uygular. Bu entegrasyonla boşaltma için kullanılan varsayılan Parke formatını kullanarak performans iyileştirmeleri elde edebilirsiniz.
Ek ayrıntılar ve kod örnekleri için bkz. Yeni – Apache Spark ile Amazon Redshift Entegrasyonu.
Çözüm Faydaları
Entegrasyonun benimsenmesi ekip için birçok önemli fayda sağladı:
- Geliştirilmiş geliştirici üretkenliği – Entegrasyon tarafından sağlanan PySpark arayüzü, geliştirici üretkenliğini 10 kat artırarak Amazon Redshift ile daha sorunsuz etkileşime olanak sağladı.
- Veri tekrarının ortadan kaldırılması – Veri gölündeki yinelenen ve AWS Glue kataloglu Redshift tabloları ortadan kaldırılarak daha akıcı bir veri ortamı sağlandı.
- Azaltılmış EDW yükü – Entegrasyon, yalnızca gerekli verileri çıkararak EDW üzerindeki yükü en aza indirerek seçici veri boşaltmayı kolaylaştırdı.
Capitec, Apache Spark için Amazon Redshift entegrasyonunu kullanarak gelişmiş veri işlemenin, artan üretkenliğin ve daha verimli bir özellik mühendisliği ekosisteminin yolunu açtı.
Sonuç
Bu yazıda Capitec ekibinin özellik hesaplama iş akışlarını basitleştirmek amacıyla Apache Spark için Amazon Redshift entegrasyonunu Apache Spark'ı nasıl başarıyla uyguladığını tartıştık. Tahmine dayalı model özellikleri oluşturmak için merkezi olmayan ve modüler PySpark veri hatlarını kullanmanın önemini vurguladılar.
Şu anda Apache Spark için Amazon Redshift entegrasyonu, 7 üretim veri hattı ve 20 geliştirme hattı tarafından kullanılıyor ve bu da onun Capitec ortamındaki etkinliğini gösteriyor.
Capitec'teki paylaşımlı hizmetler Özellik Platformu ekibi, gelecekte veri işleme yeteneklerini daha da geliştirmeyi ve verimli özellik mühendisliği uygulamalarını teşvik etmeyi amaçlayarak Apache Spark için Amazon Redshift entegrasyonunun farklı iş alanlarında benimsenmesini genişletmeyi planlıyor.
Apache Spark için Amazon Redshift entegrasyonunu kullanma hakkında ek bilgi için aşağıdaki kaynaklara bakın:
Yazarlar Hakkında
Preshen Goobiah Capitec'teki Özellik Platformunun Baş Makine Öğrenimi Mühendisidir. Kurumsal kullanıma yönelik Özellik Mağazası bileşenleri tasarlamaya ve oluşturmaya odaklanmıştır. Boş zamanlarında kitap okumaktan ve seyahat etmekten hoşlanıyor.
johan olivier Capitec'in Model Platformunda Kıdemli Makine Öğrenimi Mühendisidir. Girişimci ve problem çözme meraklısıdır. Boş zamanlarında müzikten ve sosyalleşmekten hoşlanıyor.
sudipta bagchi Amazon Web Services'te Kıdemli Uzman Çözüm Mimarıdır. Veri ve analitik alanında 12 yıldan fazla deneyime sahiptir ve müşterilerin ölçeklenebilir ve yüksek performanslı analitik çözümler tasarlamasına ve oluşturmasına yardımcı olur. İş dışında koşmayı, seyahat etmeyi ve kriket oynamayı seviyor. Onunla iletişime geç LinkedIn.
Seyyid Humair Amazon Web Services'te (AWS) Kıdemli Analitik Uzmanı Çözüm Mimarıdır. Veri ve AI/ML'ye odaklanan kurumsal mimaride 17 yıldan fazla deneyime sahip olup, dünya çapındaki AWS müşterilerinin iş ve teknik gereksinimlerini karşılamalarına yardımcı olmaktadır. Onunla bağlantı kurabilirsin LinkedIn.
Vuyisa Masvana Cape Town merkezli AWS'de Kıdemli Çözüm Mimarıdır. Vuyisa, müşterilerin iş sorunlarını çözmek için teknik çözümler oluşturmalarına yardımcı olmaya güçlü bir şekilde odaklanıyor. Capitec'i 2019'dan bu yana AWS yolculuğunda destekliyor.
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- PlatoData.Network Dikey Üretken Yapay Zeka. Kendine güç ver. Buradan Erişin.
- PlatoAiStream. Web3 Zekası. Bilgi Genişletildi. Buradan Erişin.
- PlatoESG. karbon, temiz teknoloji, Enerji, Çevre, Güneş, Atık Yönetimi. Buradan Erişin.
- PlatoSağlık. Biyoteknoloji ve Klinik Araştırmalar Zekası. Buradan Erişin.
- Kaynak: https://aws.amazon.com/blogs/big-data/simplifying-data-processing-at-capitec-with-amazon-redshift-integration-for-apache-spark/
- :vardır
- :dır-dir
- $UP
- 06
- 1
- 10
- 100
- 12
- 16
- 17
- 19
- 20
- 2019
- 30
- 7
- a
- Yapabilmek
- erişim
- ulaşılabilir
- başarılı
- karşısında
- Ek
- Ek Bilgi
- Ayrıca
- adres
- adresleri
- bağlı
- Benimseme
- uygun
- AI / ML
- hedefleyen
- Amaçları
- Izin
- veriyor
- Ayrıca
- Amazon
- Amazon Web Servisleri
- Amazon Web Services (AWS)
- arasında
- an
- analytics
- ve
- Apache
- Apache Spark
- Uygulama
- uygulamaları
- geçerlidir
- yaklaşım
- mimari
- ARE
- alanlar
- AS
- At
- otomatikleştirmek
- otomatik olarak
- AWS
- AWS Tutkal
- Banka
- Bankacılık
- merkezli
- Çünkü
- davranış
- yarar
- faydaları
- İYİ
- Daha iyi
- arasında
- Biggest
- arttırdı
- her ikisi de
- Daha geniş
- inşa etmek
- bina
- yapılı
- iş
- by
- CAN
- yetenekleri
- pelerin
- kart
- katalog
- değiştirme
- müşteri
- istemciler
- Küme
- CO
- kod
- Sütun
- Sütunlar
- birleştirme
- karmaşık
- bileşenler
- hesaplama
- Sosyal medya
- bağ
- tutarlı
- içeren
- bağlam
- Dönüştürme
- dönüştürme
- yaratmak
- Oluşturma
- Tanıtım
- kredi
- kredi kartı
- kriket
- çok önemli
- görenek
- Müşteriler
- günlük
- veri
- Veri Gölü
- veri işleme
- veri ambarı
- veri kümeleri
- Merkezi olmayan
- Varsayılan
- tanımlı
- göstermek
- Dizayn
- tasarım
- ayrıntılar
- geliştirmek
- Geliştirici
- geliştiriciler
- gelişme
- farklı
- Boyut
- boyutlar
- tartışmak
- tartışılan
- dağıtıldı
- çeşitli
- kolayca
- ekosistem
- etkili bir şekilde
- etki
- verim
- verimli
- zahmetsizce
- elimine
- vurguladı
- sağlar
- etkinleştirme
- mühendis
- Mühendislik
- Mühendisler
- artırmak
- artırılması
- zenginleştirilmiş
- zenginleştirici
- sağlamak
- sağlanması
- kuruluş
- hayran
- Girişimci
- çevre
- gerekli
- Eter (ETH)
- mevcut
- Genişletmek
- genişletir
- deneyim
- kolaylaştırmak
- kolaylaştırılmış
- gerçek
- faktör
- gerçekler
- HIZLI
- Özellikler(Hazırlık aşamasında)
- Özellikler
- fileto
- mali
- finansal hizmetler
- bulur
- odak
- odaklanmış
- odaklanma
- takip etme
- İçin
- biçim
- ileri
- sık
- itibaren
- fonksiyonlar
- daha fazla
- Kazanç
- nesil
- almak
- GitHub
- Küresel
- kullanma
- Var
- he
- yardım et
- yardım
- yardımcı olur
- onu
- onun
- Ne kadar
- HTML
- http
- HTTPS
- IAM
- Kimlik
- Kimlik
- uygulamak
- uygulanan
- ithalat
- önem
- gelişmiş
- iyileştirmeler
- in
- dahil
- içerir
- artmış
- bilgi
- entegre
- bütünleşme
- bütünlük
- etkileşim
- arayüzey
- iç
- içine
- sorunlar
- IT
- ONUN
- Java
- İş
- kaydol
- katıldı
- seyahat
- göl
- Diller
- büyük
- büyük ölçekli
- öncülük etmek
- öğrenme
- sol
- kütüphaneler
- Kütüphane
- sevmek
- yaşamak
- yük
- borç
- yerleri
- seviyor
- makine
- makine öğrenme
- sürdürmek
- bakım
- Yapımı
- tavır
- el ile
- mekanizma
- mekanizmaları
- milyon
- minimize
- dakika
- ML
- model
- modelleri
- modüler
- izleme
- aylık
- Daha
- daha verimli
- çoklu
- Music
- gerekli
- of
- Teklifler
- Zeytin
- on
- bir tek
- açık
- açık kaynak
- Operasyon
- optimum
- optimize
- optimize
- sipariş
- dışında
- tekrar
- tüm
- pandalar
- özellikle
- Şifre
- başına
- performans
- plan
- ağladım
- platform
- Platon
- Plato Veri Zekası
- PlatoVeri
- OYNA
- oynama
- çalış
- Popüler
- ortaya
- olanakları
- Çivi
- uygulamalar
- öngörü
- önceki
- prensip
- Sorun
- problem çözme
- sorunlar
- süreç
- işleme
- PLATFORM
- üretim
- verimlilik
- desteklemek
- sağlamak
- sağlanan
- Python
- sorgular
- hızla
- R
- menzil
- Okumak
- Okuma
- gerçek zaman
- kayıt
- kayıtlar
- yinelenen
- Indirimli
- başvurmak
- güvenilirlik
- Ünlü
- gerektirir
- gereklidir
- Yer Alan Kurallar
- çözmek
- Kaynaklar
- sonuç
- Ortaya çıkan
- perakende
- Perakende bankacılık
- Rol
- koşmak
- koşu
- maaş
- SC
- Scala
- ölçeklenebilir
- kapsam
- sdk
- sorunsuz
- sorunsuz
- sırları
- Bölüm
- görmek
- seçilmiş
- seçme
- seçici
- kıdemli
- Hizmetler
- Setleri
- birkaç
- Paylaşılan
- vitrine
- önemli
- Basit
- basitleştirmek
- basitleştirilmesi
- beri
- Yavaş yavaş
- pürüzsüz
- Enstantane fotoğraf
- So
- sosyalleşme
- çözüm
- Çözümler
- ÇÖZMEK
- çözer
- Kaynak
- kaynaklar
- Kaynak Bulma
- güney
- Kıvılcım
- uzman
- harcanmış
- SQL
- başladı
- Basamaklar
- hafızası
- saklı
- kolaylaştırmak
- aerodinamik
- dizi
- güçlü
- gönderilen
- başarılı
- Başarılı olarak
- destekli
- Destekler
- sistem
- tablo
- takım
- Teknik
- geçici
- Test yapmak
- o
- The
- Kaynak
- ve bazı Asya
- Onları
- sonra
- Bunlar
- onlar
- Re-Tweet
- İçinden
- zaman
- için
- birlikte
- araçlar
- kasaba
- işlemsel
- Seyahat
- URL
- kullanım
- Kullanılmış
- kullanma
- yarar
- kullanılan
- Kullanılması
- Değerli
- üzerinden
- depo
- oldu
- Yol..
- we
- ağ
- web hizmetleri
- vardı
- süre
- ile
- içinde
- İş
- birlikte çalışmak
- iş akışı
- iş akışları
- çalışma
- yazmak
- yıl
- vermiştir
- sen
- zefirnet
- sıfır