Ta objava je napisana skupaj s Preshenom Goobiahom in Johanom Olivierjem iz podjetja Capitec.
Apache Spark je široko uporabljen odprtokodni sistem za porazdeljeno obdelavo, znan po obvladovanju obsežnih delovnih obremenitev podatkov. Pogosto se uporablja med razvijalci Spark, ki delajo s Amazonski EMR, Amazon SageMaker, AWS lepilo in aplikacije Spark po meri.
Amazon RedShift ponuja brezhibno integracijo z Apache Spark, kar vam omogoča preprost dostop do vaših podatkov Redshift v obeh gručah, ki jih zagotavlja Amazon Redshift, in Amazon Redshift brez strežnika. Ta integracija razširja možnosti za rešitve za analitiko in strojno učenje (ML) AWS, zaradi česar je podatkovno skladišče dostopno širšemu naboru aplikacij.
Z Integracija Amazon Redshift za Apache Spark, lahko hitro začnete in brez truda razvijate aplikacije Spark z uporabo priljubljenih jezikov, kot so Java, Scala, Python, SQL in R. Vaše aplikacije lahko nemoteno berejo iz vašega podatkovnega skladišča Amazon Redshift in pišejo vanj, hkrati pa ohranjajo optimalno zmogljivost in doslednost transakcij. Poleg tega boste imeli koristi od izboljšav zmogljivosti prek potisnih optimizacij, kar še dodatno poveča učinkovitost vaših operacij.
Capitec, največja banka za prebivalstvo v Južni Afriki z več kot 21 milijoni strank bančnega poslovanja s prebivalstvom, želi zagotoviti preproste, cenovno ugodne in dostopne finančne storitve, da bi Južnoafričanom pomagala pri boljšem bančnem poslovanju, da bi lahko bolje živeli. V tem prispevku razpravljamo o uspešni integraciji odprtokodnega konektorja Amazon Redshift s strani Capitecove skupine Feature Services Platform. Kot rezultat uporabe integracije Amazon Redshift za Apache Spark se je produktivnost razvijalcev povečala za faktor 10, cevovodi za generiranje funkcij so bili poenostavljeni, podvajanje podatkov pa zmanjšano na nič.
Poslovna priložnost
Na voljo je 19 napovednih modelov za uporabo 93 funkcij, ustvarjenih z AWS Glue v oddelkih Capitec Retail Credit. Zapisi funkcij so obogateni z dejstvi in dimenzijami, shranjenimi v Amazon Redshift. Apache PySpark je bil izbran za ustvarjanje funkcij, ker ponuja hiter, decentraliziran in razširljiv mehanizem za prepiranje podatkov iz različnih virov.
Te produkcijske funkcije igrajo ključno vlogo pri omogočanju vlog za posojilo za določen čas v realnem času, vlog za kreditne kartice, paketnega mesečnega spremljanja kreditnega vedenja in paketnega identifikacije dnevnih plač znotraj podjetja.
Težava pri pridobivanju podatkov
Da bi zagotovili zanesljivost podatkovnih cevovodov PySpark, je nujno imeti dosledne podatke na ravni zapisov iz dimenzionalnih in faktografskih tabel, shranjenih v Enterprise Data Warehouse (EDW). Te tabele se nato med izvajanjem združijo s tabelami iz Enterprise Data Lake (EDL).
Med razvojem funkcij podatkovni inženirji potrebujejo brezhiben vmesnik za EDW. Ta vmesnik jim omogoča dostop in integracijo potrebnih podatkov iz EDW v podatkovne kanale, kar omogoča učinkovit razvoj in testiranje funkcij.
Prejšnji postopek rešitve
V prejšnji rešitvi so podatkovni inženirji skupine izdelkov porabili 30 minut na zagon, da so podatke Redshift ročno izpostavili Sparku. Koraki so vključevali naslednje:
- Konstruirajte predikirano poizvedbo v Pythonu.
- Pošljite RAZTORAM poizvedba prek Amazon Redshift Data API.
- Kataloški podatki v katalogu podatkov AWS Glue prek AWS SDK za Pandas z uporabo vzorčenja.
Ta pristop je povzročil težave pri velikih naborih podatkov, zahteval je ponavljajoče se vzdrževanje skupine platforme in je bil zapleten za avtomatizacijo.
Pregled trenutne rešitve
Capitec je te težave lahko rešil z integracijo Amazon Redshift za Apache Spark v okviru cevovodov za generiranje funkcij. Arhitektura je definirana v naslednjem diagramu.
Potek dela vključuje naslednje korake:
- Notranje knjižnice so nameščene v opravilo AWS Glue PySpark prek Artefakt kode AWS.
- Opravilo AWS Glue pridobi poverilnice gruče Redshift iz Upravitelj skrivnosti AWS in nastavi povezavo Amazon Redshift (vstavi poverilnice gruče, lokacije za razkladanje, formate datotek) prek skupne notranje knjižnice. Integracija Amazon Redshift za Apache Spark prav tako podpira uporabo AWS upravljanje identitete in dostopa (IAM) do pridobite poverilnice in se povežite z Amazon Redshift.
- Poizvedba Spark je prevedena v poizvedbo, optimizirano za Amazon Redshift, in predložena v EDW. To je doseženo z integracijo Amazon Redshift za Apache Spark.
- Nabor podatkov EDW se razloži v začasno predpono v an Preprosta storitev shranjevanja Amazon (Amazon S3) vedro.
- Nabor podatkov EDW iz vedra S3 se naloži v izvajalce Spark prek integracije Amazon Redshift za Apache Spark.
- Nabor podatkov EDL se naloži v izvajalce Spark prek kataloga podatkov AWS Glue Data Catalog.
Te komponente delujejo skupaj, da zagotovijo, da imajo podatkovni inženirji in cevovodi proizvodnih podatkov potrebna orodja za implementacijo integracije Amazon Redshift za Apache Spark, izvajanje poizvedb in olajšanje prenosa podatkov iz Amazon Redshift v EDL.
Uporaba integracije Amazon Redshift za Apache Spark v AWS Glue 4.0
V tem razdelku prikazujemo uporabnost integracije Amazon Redshift za Apache Spark z obogatitvijo tabele vloge za posojilo, ki se nahaja v podatkovnem jezeru S3, s podatki o strankah iz podatkovnega skladišča Redshift v PySpark.
O dimclient
tabela v Amazon Redshift vsebuje naslednje stolpce:
- ClientKey – INT8
- ClientAltKey – VARCHAR50
- PartyIdentifierNumber – VARCHAR20
- ClientCreateDate – DATUM
- Je preklicano – INT2
- RowIsCurrent – INT2
O loanapplication
tabela v katalogu podatkov o lepilu AWS vsebuje naslednje stolpce:
- ID zapisa – BIGINT
- LogDate – ČASOVNI ŽIG
- PartyIdentifierNumber - VRVICA
Tabela Redshift se prebere prek integracije Amazon Redshift za Apache Spark in se shrani v predpomnilnik. Oglejte si naslednjo kodo:
Zapisi vloge za posojilo se preberejo iz podatkovnega jezera S3 in obogatijo z dimclient
tabela o informacijah Amazon Redshift:
Posledično je zapis vloge za posojilo (iz podatkovnega jezera S3) obogaten z ClientCreateDate
stolpec (iz Amazon Redshift).
Kako integracija Amazon Redshift za Apache Spark rešuje problem pridobivanja podatkov
Integracija Amazon Redshift za Apache Spark učinkovito rešuje problem pridobivanja podatkov prek naslednjih mehanizmov:
- Pravočasno branje – Integracija Amazon Redshift za priključek Apache Spark bere tabele Redshift pravočasno, kar zagotavlja skladnost podatkov in sheme. To je še posebej dragoceno za Tip 2 počasi spreminjajoče se dimenzije (SCD) in časovno obdobje zbiranja posnetkov dejstev. S kombiniranjem teh tabel Redshift s tabelami izvornega sistema AWS Glue Data Catalog iz EDL znotraj produkcijskih cevovodov PySpark konektor omogoča brezhibno integracijo podatkov iz več virov, hkrati pa ohranja celovitost podatkov.
- Optimizirane poizvedbe Redshift – Integracija Amazon Redshift za Apache Spark igra ključno vlogo pri pretvorbi načrta poizvedbe Spark v optimizirano poizvedbo Redshift. Ta postopek pretvorbe poenostavi razvojno izkušnjo za skupino izdelkov z upoštevanjem načela lokalnosti podatkov. Optimizirane poizvedbe uporabljajo zmožnosti in optimizacije delovanja Amazon Redshift, kar zagotavlja učinkovito pridobivanje in obdelavo podatkov iz Amazon Redshift za cevovode PySpark. To pomaga racionalizirati razvojni proces, hkrati pa izboljša splošno učinkovitost operacij pridobivanja podatkov.
Pridobivanje najboljše uspešnosti
Integracija Amazon Redshift za Apache Spark samodejno uporabi predikat in potisni poizvedbe za optimizacijo delovanja. Z uporabo privzetega formata Parquet, ki se uporablja za razkladanje s to integracijo, lahko izboljšate zmogljivost.
Za dodatne podrobnosti in vzorce kode glejte Novo – integracija Amazon Redshift z Apache Spark.
Prednosti rešitve
Sprejetje integracije je ekipi prineslo več pomembnih koristi:
- Izboljšana produktivnost razvijalcev – Vmesnik PySpark, ki ga zagotavlja integracija, je povečal produktivnost razvijalcev za faktor 10, kar omogoča bolj gladko interakcijo z Amazon Redshift.
- Odprava podvajanja podatkov – Podvojene tabele in tabele Redshift, katalogizirane z AWS Glue, v podatkovnem jezeru so bile odpravljene, kar je povzročilo bolj poenostavljeno podatkovno okolje.
- Zmanjšana obremenitev EDW – Integracija je olajšala selektivno razkladanje podatkov, kar je zmanjšalo obremenitev EDW z ekstrakcijo samo potrebnih podatkov.
Z uporabo integracije Amazon Redshift za Apache Spark je Capitec utrl pot za izboljšano obdelavo podatkov, večjo produktivnost in učinkovitejši ekosistem inženiringa funkcij.
zaključek
V tem prispevku smo razpravljali o tem, kako je ekipa Capitec uspešno implementirala integracijo Apache Spark Amazon Redshift za Apache Spark, da bi poenostavila potek dela za izračun funkcij. Poudarili so pomen uporabe decentraliziranih in modularnih podatkovnih cevovodov PySpark za ustvarjanje funkcij napovednega modela.
Trenutno se integracija Amazon Redshift za Apache Spark uporablja v 7 produkcijskih podatkovnih cevovodih in 20 razvojnih cevovodih, ki prikazujejo njeno učinkovitost v okolju Capitec.
V nadaljevanju skupina za platformo funkcij za skupne storitve pri Capitecu načrtuje razširitev sprejemanja integracije Amazon Redshift za Apache Spark na različnih poslovnih področjih, s ciljem nadaljnje izboljšave zmogljivosti obdelave podatkov in spodbujanja učinkovitih praks inženiringa funkcij.
Za dodatne informacije o uporabi integracije Amazon Redshift za Apache Spark glejte naslednje vire:
O avtorjih
Preshen Goobiah je vodilni inženir strojnega učenja za platformo funkcij pri Capitecu. Osredotočen je na načrtovanje in gradnjo komponent Feature Store za poslovno uporabo. V prostem času rada bere in potuje.
Johan Olivier je višji inženir strojnega učenja za Capitecovo modelno platformo. Je podjetnik in navdušenec nad reševanjem problemov. V prostem času uživa v glasbi in druženju.
Sudipta Bagchi je višji specialist za rešitve pri Amazon Web Services. Ima več kot 12 let izkušenj na področju podatkov in analitike ter strankam pomaga oblikovati in zgraditi razširljive in visoko zmogljive analitične rešitve. Zunaj službe rad teče, potuje in igra kriket. Povežite se z njim LinkedIn.
Syed Humair je višji arhitekt za rešitve strokovnjaka za analitiko pri Amazon Web Services (AWS). Ima več kot 17 let izkušenj s podjetniško arhitekturo, ki se osredotoča na podatke in AI/ML, ter strankam AWS po vsem svetu pomaga pri izpolnjevanju njihovih poslovnih in tehničnih zahtev. Z njim se lahko povežete na LinkedIn.
Vuyisa Maswana je višji arhitekt za rešitve pri AWS s sedežem v Cape Townu. Vuyisa se močno osredotoča na pomoč strankam pri izgradnji tehničnih rešitev za reševanje poslovnih težav. Od leta 2019 podpira Capitec na njihovi poti AWS.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoData.Network Vertical Generative Ai. Opolnomočite se. Dostopite tukaj.
- PlatoAiStream. Web3 Intelligence. Razširjeno znanje. Dostopite tukaj.
- PlatoESG. Ogljik, CleanTech, Energija, Okolje, sončna energija, Ravnanje z odpadki. Dostopite tukaj.
- PlatoHealth. Obveščanje o biotehnologiji in kliničnih preskušanjih. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/big-data/simplifying-data-processing-at-capitec-with-amazon-redshift-integration-for-apache-spark/
- :ima
- : je
- $GOR
- 06
- 1
- 10
- 100
- 12
- 16
- 17
- 19
- 20
- 2019
- 30
- 7
- a
- Sposobna
- dostop
- dostopen
- doseženo
- čez
- Dodatne
- Dodatne informacije
- Poleg tega
- Naslov
- naslovi
- spoštovanje
- Sprejetje
- cenovno
- AI / ML
- Usmerjanje
- Cilje
- Dovoli
- omogoča
- Prav tako
- Amazon
- Amazon Web Services
- Amazonske spletne storitve (AWS)
- med
- an
- analitika
- in
- Apache
- Apache Spark
- uporaba
- aplikacije
- velja
- pristop
- Arhitektura
- SE
- območja
- AS
- At
- avtomatizirati
- samodejno
- AWS
- AWS lepilo
- Banka
- Bančništvo
- temeljijo
- ker
- vedenje
- koristi
- Prednosti
- BEST
- Boljše
- med
- največji
- Povečana
- tako
- širši
- izgradnjo
- Building
- zgrajena
- poslovni
- by
- CAN
- Zmogljivosti
- ogrinjalo
- kartice
- Katalog
- spreminjanje
- stranke
- stranke
- Grozd
- CO
- Koda
- Stolpec
- Stolpci
- združevanje
- kompleksna
- deli
- računanje
- Connect
- povezava
- dosledno
- Vsebuje
- ozadje
- Pretvorba
- pretvorbo
- ustvarjajo
- Ustvarjanje
- Mandatno
- kredit
- kreditne kartice
- kriket
- ključnega pomena
- po meri
- Stranke, ki so
- vsak dan
- datum
- Data jezero
- obdelava podatkov
- podatkovno skladišče
- nabor podatkov
- Decentralizirano
- privzeto
- opredeljen
- izkazati
- Oblikovanje
- oblikovanje
- Podrobnosti
- Razvoj
- Razvojni
- Razvijalci
- Razvoj
- drugačen
- Dimenzije
- dimenzije
- razpravlja
- razpravljali
- porazdeljena
- razne
- enostavno
- ekosistem
- učinkovito
- učinkovitost
- učinkovitosti
- učinkovite
- truda
- odpraviti
- je poudaril,
- omogoča
- omogočanje
- inženir
- Inženiring
- Inženirji
- okrepi
- izboljšanje
- obogatena
- bogatenje
- zagotovitev
- zagotoviti
- Podjetje
- navdušenec
- Podjetnik
- okolje
- bistvena
- Eter (ETH)
- obstoječih
- Razširi
- širi
- izkušnje
- olajšati
- olajšano
- Dejstvo
- Faktor
- dejstva
- FAST
- Feature
- Lastnosti
- file
- finančna
- finančne storitve
- najdbe
- Osredotočite
- osredotočena
- osredotoča
- po
- za
- format
- Naprej
- pogosto
- iz
- funkcije
- nadalje
- Gain
- generacija
- dobili
- GitHub
- Globalno
- Ravnanje
- Imajo
- he
- pomoč
- pomoč
- Pomaga
- ga
- njegov
- Kako
- HTML
- http
- HTTPS
- IAM
- Identifikacija
- identiteta
- izvajati
- izvajali
- uvoz
- Pomembnost
- izboljšalo
- Izboljšave
- in
- vključeno
- vključuje
- povečal
- Podatki
- integrirati
- integracija
- celovitost
- interakcije
- vmesnik
- notranji
- v
- Vprašanja
- IT
- ITS
- Java
- Job
- pridružite
- pridružil
- Potovanje
- Jezero
- jeziki
- velika
- obsežne
- vodi
- učenje
- levo
- knjižnice
- Knjižnica
- kot
- v živo
- obremenitev
- posojila
- Lokacije
- ljubi
- stroj
- strojno učenje
- vzdrževanje
- vzdrževanje
- Izdelava
- Način
- ročno
- Mehanizem
- Mehanizmi
- milijonov
- minimiziranje
- min
- ML
- Model
- modeli
- Modularna
- spremljanje
- mesečno
- več
- učinkovitejše
- več
- Glasba
- potrebno
- of
- Ponudbe
- Olive
- on
- samo
- odprite
- open source
- operacije
- optimalna
- Optimizirajte
- optimizirana
- Da
- zunaj
- več
- Splošni
- pand
- zlasti
- Geslo
- za
- performance
- Načrt
- načrti
- platforma
- platon
- Platonova podatkovna inteligenca
- PlatoData
- Predvajaj
- igranje
- igra
- Popular
- zastavljeno
- možnosti
- Prispevek
- vaje
- napovedno
- prejšnja
- Načelo
- problem
- reševanje problema
- Težave
- Postopek
- obravnavati
- Izdelek
- proizvodnja
- produktivnost
- spodbujanje
- zagotavljajo
- če
- Python
- poizvedbe
- hitro
- R
- območje
- Preberi
- reading
- v realnem času
- zapis
- evidence
- ponavljajoče se
- Zmanjšana
- glejte
- zanesljivost
- Priznan
- zahteva
- obvezna
- Zahteve
- reševanje
- viri
- povzroči
- rezultat
- Trgovina na drobno
- Bančništvo na drobno
- vloga
- Run
- tek
- plače
- SC
- Lestvica
- razširljive
- Obseg
- SDK
- brezšivne
- brez težav
- skrivnosti
- Oddelek
- glej
- izbran
- izbiranje
- selektivno
- višji
- Storitve
- Kompleti
- več
- deli
- razstavni
- pomemben
- Enostavno
- poenostavitev
- poenostavitev
- saj
- Počasi
- bolj gladko
- Posnetek
- So
- druženje
- Rešitev
- rešitve
- SOLVE
- Rešuje
- vir
- Viri
- Sourcing
- South
- Spark
- specialist
- porabljen
- SQL
- začel
- Koraki
- shranjevanje
- shranjeni
- racionalizirati
- racionaliziran
- String
- močna
- predložen
- uspešno
- Uspešno
- Podprti
- Podpira
- sistem
- miza
- skupina
- tehnični
- začasna
- Testiranje
- da
- O
- Vir
- njihove
- Njih
- POTEM
- te
- jih
- ta
- skozi
- čas
- do
- skupaj
- orodja
- mesto
- transakcijski
- Potovanje
- URL
- uporaba
- Rabljeni
- uporabo
- pripomoček
- uporablja
- Uporaben
- dragocene
- preko
- Skladišče
- je
- način..
- we
- web
- spletne storitve
- so bili
- medtem
- z
- v
- delo
- delati skupaj
- potek dela
- delovnih tokov
- deluje
- pisati
- let
- pridobil
- jo
- Vaša rutina za
- zefirnet
- nič