A mai világban az ügyfelek hatalmas mennyiségű adatot kezelnek saját magukban Amazon egyszerű tárolási szolgáltatás (Amazon S3) adatforrások, amelyekhez csavart adatfolyamokra van szükség ahhoz, hogy folyamatosan megértsék az adatelrendezés változásait és elérhetővé tegyék azokat a fogyasztó rendszerek számára. AWS ragasztó A bejárók egyszerű módot kínálnak az adatok katalogizálására az AWS ragasztóadat-katalógusban, amely megszünteti a sémakezelés és az adatosztályozás nehézségeit. Az AWS Glue bejárói kivonják az adatsémát és a partíciókat az Amazon S3-ból, hogy automatikusan feltöltsék az adatkatalógust, miközben a metaadatokat naprakészen tartják.
De az idő múlásával exponenciálisan növekvő adatokkal az adott táblában lévő partíciók száma jelentősen megnőhet. Mert az analitikai szolgáltatások kedvelik Amazon Athéné több millió partíciót tartalmazó tábla lekérdezése esetén a partíció lekéréséhez szükséges idő megnő, és a lekérdezés futásideje megnőhet.
Mára az AWS Glue bejáró támogatását kibővítették, így automatikusan partíciós indexeket adnak hozzá az újonnan felfedezett táblákhoz, hogy optimalizálják a lekérdezések feldolgozását a particionált adatkészleten. Mostantól, amikor a bejáró egy új adatkatalógus-táblát hoz létre a bejáró futtatása során, alapértelmezés szerint létrehoz egy partícióindexet is, kulcsként a numerikus és karakterlánc típusú partíciós oszlopok legnagyobb permutációjával. Az adatkatalógus ezután e kulcsok alapján kereshető indexet hoz létre, csökkentve a partíciók metaadatainak lekéréséhez és szűréséhez szükséges időt a több millió partíciót tartalmazó táblákon. A partíciós indexek létrehozása előnyös az Athena rendszeren futó analitikai munkaterhelések számára, Amazon EMR, Amazon Red Shift Spectrumés AWS ragasztót.
Ebben a bejegyzésben leírjuk, hogyan hozhat létre partícióindexeket egy AWS Glue bejáróval, és hasonlítsa össze a lekérdezés teljesítményének javulását, amikor a bejárt adatokhoz az Athena partícióindexével és anélkül is hozzáfér.
Megoldás áttekintése
Használunk egy AWS felhőképződés sablont a megoldási erőforrásaink létrehozásához. A következő lépésekben bemutatjuk, hogyan konfigurálható az AWS Glue bejáró partícióindex létrehozására az AWS Glue konzol vagy a AWS parancssori interfész (AWS CLI). Ezután összehasonlítjuk a lekérdezés teljesítményének javulását az Athena használatával.
Előfeltételek
A bejegyzés követéséhez hozzáféréssel kell rendelkeznie egy AWS Identity and Access Management (IAM) rendszergazdai szerepkörrel hozhat létre erőforrásokat az AWS CloudFormation használatával.
Állítsa be a megoldási erőforrásokat
A CloudFormation sablon a következő erőforrásokat állítja elő:
- IAM szerepek és irányelvek
- Egy AWS Glue adatbázis a séma tárolására
- Egy AWS Glue bejáró, amely egy erősen particionált adatkészletre mutat
- Egy Athena-munkacsoport és vödör a lekérdezések eredményeinek tárolására
Hajtsa végre a következő lépéseket a megoldási erőforrások beállításához:
- Jelentkezzen be a AWS felügyeleti konzol mint IAM rendszergazda.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Indítsa el a Stack alkalmazást a CloudFormation sablon üzembe helyezéséhez:
- A Adatbázis név, tartsa meg az alapértelmezett értéket
blog_partition_index_crawlerdb
. - A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Következő.
- Tekintse át a részleteket az utolsó oldalon, és válassza ki Tudomásul veszem, hogy az AWS CloudFormation IAM-erőforrásokat hozhat létre.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Verem létrehozása.
- Amikor a verem elkészült, az AWS CloudFormation konzolon navigáljon a Kimenetek a verem lapja.
- Jegyezze fel értékeit
DatabaseName
és aGlueCrawlerName
.
A verem által telepített erőforrások egy része használat közben költségekkel jár.
Szerkessze és futtassa az AWS Glue bejárót
Az AWS Glue bejáró konfigurálásához és futtatásához hajtsa végre a következő lépéseket:
- Az AWS Glue konzolon válassza a lehetőséget Bejárók a navigációs ablaktáblában.
- Keresse meg a
crawler blog-partition-index-crawler
És válasszon szerkesztése. - A Állítsa be a kimenetet és az ütemezést fejezet alatt Speciális beállításokválassza Automatikus partícióindexek létrehozása.
- Tekintse át és frissítse a bejáró beállításait.
Alternatív megoldásként beállíthatja a bejárót az AWS CLI használatával (adja meg IAM-szerepét és régióját):
- Most futtassa a bejárót, és ellenőrizze, hogy a bejáró futtatása befejeződött.
Ez egy erősen particionált adatkészlet, és körülbelül 90 percet vesz igénybe.
Ellenőrizze a particionált táblát
Az AWS Glue adatbázisában blog_partition_index_crawlerdb
, ellenőrizze, hogy a táblázat highly_partitioned_table
létrehozva.
Alapértelmezés szerint a bejáró az érvényes oszloptípusok partícióoszlopainak legnagyobb permutációja alapján határoz meg egy indexet a partíciós oszlopok azonos sorrendjében, amelyek numerikusak vagy karakterláncok. A bejáró által létrehozott táblázathoz (highly_partitioned_table
), partíciós oszlopaink vannak year
(húr), month
(húr), day
(karakterlánc), és hour
(húr).
E definíció alapján a bejáró létrehozott egy indexet az év, hónap, nap és óra permutációjára. A bejáró létrehozta az indexeket előtaggal crawler_
bármely alapértelmezés szerint létrehozott partícióindexen.
Ellenőrizze ugyanezt a táblázathoz navigálva highly_partitioned_table
az AWS Glue konzolon, és válassza ki a Indexek Tab.
A bejáró képes volt bejárni az S3 adatforrást, és sikeresen feltölteni a tábla partícióindexeit.
Hasonlítsa össze a lekérdezés teljesítményének javításait az Athena használatával
Először lekérdezzük az Athena tábláját a partíciós index használata nélkül. A táblázatok Athena használatával történő ellenőrzéséhez hajtsa végre a következő lépéseket:
- Az Athena konzolon válassza a lehetőséget
crawler-primary-workgroup
mint az Athena munkacsoport és válassza ki elismerni. - Futtassa a következő lekérdezést:
A következő képernyőkép azt mutatja, hogy a lekérdezés körülbelül 32 másodpercig tartott anélkül, hogy a partícióindex segítségével engedélyezték volna a szűrést.
- Most engedélyezzük a partícióindexet az Athena lekérdezésben:
- Futtassa újra a következő lekérdezést, és jegyezze fel a futási időt:
A következő képernyőkép azt mutatja, hogy a lekérdezés mindössze 700 ezredmásodpercet vett igénybe, ami sokkal gyorsabb, ha a partícióindex segítségével engedélyezve van a szűrés.
Tisztítsuk meg
Az AWS-fiókja nem kívánt terheléseinek elkerülése érdekében törölheti az AWS-erőforrásokat:
- Jelentkezzen be a CloudFormation-konzolba a CloudFormation-verem létrehozásához használt IAM-adminisztrátorként.
- Törölje a létrehozott CloudFormation-vermet.
Következtetés
Ebben a bejegyzésben elmagyaráztuk, hogyan konfigurálhat egy AWS bejárót partícióindexek létrehozására, és összehasonlítottuk a lekérdezés teljesítményét az adatokhoz való hozzáféréskor az Athena indexeivel.
Ha nincsenek partícióindexek a táblán, az AWS Glue betölti a tábla összes partícióját, majd kiszűri a betöltött partíciókat, ami a metaadatok nem hatékony lekérését eredményezi. Az olyan analitikai szolgáltatások, mint a Redshift Spectrum, az Amazon EMR és az AWS Glue ETL Spark DataFrames mostantól indexeket használhatnak a partíciók lekéréséhez, ami jelentős lekérdezési teljesítményt eredményez.
További információért a partícióindexekről és a különböző elemző motorok lekérdezési teljesítményéről lásd: Javítsa az Amazon Athena lekérdezési teljesítményét az AWS Glue Data Catalog partícióindexek segítségével és a Javítsa a lekérdezések teljesítményét az AWS Glue partícióindexek használatával.
Külön köszönet mindenkinek, aki hozzájárult a bejáró funkció elindításához: Yuhang Chennek, Kyle Duongnak és Mita Gavade-nak.
A szerzőkről
Srividya Parthasarathy az AWS Lake Formation csapatának vezető Big Data építésze. Szereti az adatháló-megoldásokat építeni és megosztani a közösséggel.
Sandeep Adwankar az AWS vezető műszaki termékmenedzsere. A kaliforniai öböl térségében található, és világszerte együttműködik ügyfeleivel, hogy az üzleti és műszaki követelményeket olyan termékekké alakítsa át, amelyek lehetővé teszik az ügyfelek számára, hogy javítsák az adatok kezelését, biztonságát és hozzáférését.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- EVM Finance. Egységes felület a decentralizált pénzügyekhez. Hozzáférés itt.
- Quantum Media Group. IR/PR erősített. Hozzáférés itt.
- PlatoAiStream. Web3 adatintelligencia. Felerősített tudás. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/big-data/efficiently-crawl-your-data-lake-and-improve-data-access-with-aws-glue-crawler-using-partition-indexes/
- :van
- :is
- :ahol
- $ UP
- 1
- 100
- 11
- 27
- 32
- 8
- 9
- 90
- a
- Képes
- hozzáférés
- Hozzáférés
- Fiók
- elismerni
- át
- hozzá
- admin
- újra
- Minden termék
- mentén
- Is
- amazon
- Amazon Athéné
- Amazon EMR
- Az Amazon Web Services
- Összegek
- an
- Analitikai
- analitika
- és a
- bármilyen
- körülbelül
- VANNAK
- TERÜLET
- körül
- AS
- At
- automatikusan
- elérhető
- elkerülése érdekében
- AWS
- AWS felhőképződés
- AWS ragasztó
- AWS-tó formáció
- alapján
- öböl
- mert
- óta
- Előnyök
- Nagy
- Big adatok
- Épület
- üzleti
- by
- Kalifornia
- TUD
- katalógus
- Okoz
- Változások
- díjak
- chen
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- választja
- besorolás
- Oszlop
- Oszlopok
- jön
- közösség
- összehasonlítani
- képest
- teljes
- Konzol
- folyamatosan
- hozzájárultak
- kiadások
- lánctalpas
- teremt
- készítette
- teremt
- létrehozása
- teremtés
- Jelenlegi
- Ügyfelek
- dátum
- adat hozzáférés
- adattó
- adatbázis
- nap
- alapértelmezett
- bizonyítani
- telepíteni
- bevet
- leírni
- részletek
- meghatározza
- felfedezett
- le-
- alatt
- eredményesen
- bármelyik
- lehetővé
- engedélyezve
- Motorok
- Eter (ETH)
- mindenki
- kiterjesztett
- magyarázható
- exponenciálisan
- kivonat
- kivonni az adatokat
- gyorsabb
- Funkció
- szűrő
- szűrő
- Szűrők
- utolsó
- következik
- következő
- A
- képződés
- ból ből
- generál
- adott
- földgolyó
- Nő
- Növekvő
- Legyen
- he
- nehéz
- súlyemelés
- nagyon
- tart
- óra
- Hogyan
- How To
- HTML
- http
- HTTPS
- IAM
- Identitás
- javul
- javulás
- fejlesztések
- in
- Növelje
- Növeli
- index
- indexek
- nem hatékony
- információ
- bele
- IT
- jpg
- Tart
- tartás
- kulcsok
- tó
- legnagyobb
- indít
- elrendezés
- emelő
- mint
- vonal
- terhelések
- csinál
- kezelése
- vezetés
- menedzser
- háló
- Metaadatok
- esetleg
- Több millió
- jegyzőkönyv
- Hónap
- több
- sok
- kell
- Keresse
- navigálás
- Navigáció
- szükséges
- Új
- újonnan
- nem
- Most
- szám
- of
- on
- csak
- Optimalizálja
- or
- érdekében
- mi
- teljesítmény
- felett
- oldal
- üvegtábla
- ösvény
- teljesítmény
- Plató
- Platón adatintelligencia
- PlatoData
- állás
- be
- feldolgozás
- Termékek
- termék menedzser
- Termékek
- ad
- csökkentő
- vidék
- kötelező
- követelmények
- megköveteli,
- Tudástár
- kapott
- Eredmények
- Szerep
- szerepek
- futás
- futás
- azonos
- másodperc
- Rész
- biztonság
- idősebb
- Szolgáltatások
- készlet
- beállítások
- megosztás
- ő
- Műsorok
- jelentős
- jelentősen
- Egyszerű
- megoldások
- Megoldások
- forrás
- Szikra
- Spektrum
- verem
- Lépései
- tárolás
- tárolni
- egyértelmű
- Húr
- sikeresen
- támogatás
- Systems
- táblázat
- Vesz
- csapat
- Műszaki
- sablon
- köszönöm
- hogy
- A
- azok
- Őket
- akkor
- Ezek
- ők
- ezt
- idő
- nak nek
- mai
- vett
- fordít
- igaz
- típus
- típusok
- alatt
- megért
- felesleges
- Frissítések
- használ
- használt
- segítségével
- hasznosít
- érték
- Értékek
- különféle
- Hatalmas
- ellenőrzése
- változat
- volt
- Út..
- we
- háló
- webes szolgáltatások
- amikor
- ami
- WHO
- lesz
- val vel
- nélkül
- Munkacsoport
- művek
- világ
- yaml
- év
- te
- A te
- zephyrnet