Nykymaailmassa asiakkaat hallitsevat valtavia määriä dataa Amazonin yksinkertainen tallennuspalvelu (Amazon S3) datajärviä, jotka vaativat mutkaisia dataputkia, jotta ne pystyvät jatkuvasti ymmärtämään tietojen asettelun muutoksia ja tuomaan ne kuluttavien järjestelmien saataville. AWS-liima indeksointirobotit tarjoavat yksinkertaisen tavan luetteloida tiedot AWS Glue Data Catalogissa, mikä poistaa raskasta skeeman hallintaa ja tietojen luokittelua. AWS Glue -indeksointirobotit poimivat tietoskeeman ja osiot Amazon S3:sta täyttääkseen tietokatalogin automaattisesti pitäen metatiedot ajan tasalla.
Mutta kun data kasvaa eksponentiaalisesti ajan myötä, tietyn taulukon osioiden määrä voi kasvaa merkittävästi. Koska analytiikkapalvelut pitävät Amazon Athena kyselyn miljoonia osioita sisältävästä taulukosta, osion noutamiseen tarvittava aika kasvaa ja voi aiheuttaa kyselyn suoritusajan pidentymistä.
Nykyään AWS Glue -indeksointirobotin tukea on laajennettu lisäämään automaattisesti osioindeksit äskettäin löydetyille taulukoille osioidun tietojoukon kyselyn käsittelyn optimoimiseksi. Nyt, kun indeksointirobotti luo uuden tietoluettelotaulukon indeksointirobotin ajon aikana, se luo myös oletusarvoisesti osioindeksin, jossa avaimina on suurin permutaatio kaikista numeerisista ja merkkijonotyyppisistä osiosarakkeista. Tietokatalogi luo sitten haettavan indeksin näiden avainten perusteella, mikä vähentää aikaa, joka kuluu osion metatietojen hakemiseen ja suodattamiseen miljoonien osioiden taulukoissa. Osioindeksien luominen hyödyttää Athenassa käynnissä olevia analytiikkatyökuormia, Amazonin EMR, Amazonin punasiirtospektrija AWS-liimaa.
Tässä viestissä kuvataan, kuinka luodaan osioindeksejä AWS Glue -indeksoijalla ja verrataan kyselyn suorituskyvyn parantumista käytettäessä indeksoituja tietoja Athenen osioindeksillä ja ilman sitä.
Ratkaisun yleiskatsaus
Käytämme AWS-pilven muodostuminen mallia ratkaisuresurssien luomiseen. Seuraavissa vaiheissa näytämme, kuinka AWS Glue -indeksointirobotti määritetään luomaan osioindeksi joko AWS Glue -konsolin tai AWS-komentoriviliitäntä (AWS CLI). Sitten vertaamme kyselyn suorituskyvyn parannuksia Athenen avulla.
Edellytykset
Jotta voit seurata tätä viestiä, sinulla on oltava pääsy AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (IAM) järjestelmänvalvojan rooli resurssien luomiseen AWS CloudFormationin avulla.
Määritä ratkaisuresurssit
CloudFormation-malli luo seuraavat resurssit:
- IAM: n roolit ja käytännöt
- AWS Glue -tietokanta skeeman säilyttämiseen
- AWS Glue -indeksointirobotti, joka osoittaa erittäin osioituun tietojoukkoon
- Athena-työryhmä ja ämpäri kyselytulosten tallentamiseen
Määritä ratkaisuresurssit suorittamalla seuraavat vaiheet:
- Kirjaudu sisään AWS-hallintakonsoli IAM-järjestelmänvalvojana.
- Valita Käynnistä pino CloudFormation-mallin käyttöönotto:
- varten Tietokannan nimi, säilytä oletusarvo
blog_partition_index_crawlerdb
. - Valita seuraava.
- Tarkista yksityiskohdat viimeisellä sivulla ja valitse Tunnustan, että AWS CloudFormation saattaa luoda IAM-resursseja.
- Valita Luo pino.
- Kun pino on valmis, siirry AWS CloudFormation -konsolissa kohtaan Lähdöt pinon välilehti.
- Merkitse muistiin arvot
DatabaseName
jaGlueCrawlerName
.
Osa tämän pinon käyttämistä resursseista maksaa käytön aikana.
Muokkaa ja suorita AWS Glue -indeksointirobotti
Voit määrittää ja suorittaa AWS Glue -indeksointirobotin suorittamalla seuraavat vaiheet:
- Valitse AWS-liimakonsolista Indeksoijat navigointipaneelissa.
- Etsi
crawler blog-partition-index-crawler
Ja valitse muokata. - In Aseta lähtö ja ajoitus kohta, alla Lisäasetuksetvalitse Luo osioindeksit automaattisesti.
- Tarkista ja päivitä indeksointirobotin asetukset.
Vaihtoehtoisesti voit määrittää indeksointirobotin AWS CLI:n avulla (anna IAM-roolisi ja alueesi):
- Suorita nyt indeksointirobotti ja varmista, että indeksointi on suoritettu loppuun.
Tämä on erittäin osioitu tietojoukko, ja sen valmistuminen kestää noin 90 minuuttia.
Tarkista osioitu taulukko
AWS Glue -tietokannassa blog_partition_index_crawlerdb
, varmista, että taulukko highly_partitioned_table
on luotu.
Oletusarvoisesti indeksointirobotti määrittää indeksin kelvollisten saraketyyppien osiosarakkeiden suurimman permutaation perusteella samassa osiosarakkeiden järjestyksessä, jotka ovat joko numeerisia tai merkkijonoja. Indeksointirobotin luomalle taulukolle (highly_partitioned_table
), meillä on osiosarakkeita year
(String), month
(String), day
(merkkijono) ja hour
(merkkijono).
Tämän määritelmän perusteella indeksointirobotti loi indeksin vuoden, kuukauden, päivän ja tunnin permutaatiosta. Indeksointirobotti loi indeksit, joiden etuliite on crawler_
missä tahansa oletusarvoisesti luodussa osioindeksissä.
Varmista sama navigoimalla taulukkoon highly_partitioned_table
AWS Glue -konsolissa ja valitsemalla Indexes Tab.
Indeksointirobotti pystyi indeksoimaan S3-tietolähteen ja täyttämään taulukon osioindeksit onnistuneesti.
Vertaa kyselyn suorituskyvyn parannuksia Athenen avulla
Aluksi teemme kyselyn Athenen taulukosta ilman osioindeksiä. Voit tarkistaa taulukot Athenalla suorittamalla seuraavat vaiheet:
- Valitse Athena-konsolista
crawler-primary-workgroup
kuten Athena-työryhmä ja valitse Tunnustaa. - Suorita seuraava kysely:
Seuraava kuvakaappaus näyttää, että kysely kesti noin 32 sekuntia ilman osioindeksin suodatusta.
- Nyt otamme osioindeksin käyttöön Athena-kyselyssä:
- Suorita seuraava kysely uudelleen ja merkitse suoritusaika muistiin:
Seuraava kuvakaappaus näyttää, että kysely kesti vain 700 millisekuntia, mikä on paljon nopeampaa, kun suodatus on käytössä osioindeksin avulla.
Puhdistaa
Voit välttää ei-toivotut veloitukset AWS-tililtäsi poistamalla AWS-resurssit:
- Kirjaudu sisään CloudFormation-konsoliin IAM-järjestelmänvalvojana, jota käytettiin CloudFormation-pinon luomiseen.
- Poista luomasi CloudFormation-pino.
Yhteenveto
Tässä viestissä selitimme, kuinka AWS-indeksointirobotti määritetään luomaan osioindeksejä, ja vertasimme kyselyn suorituskykyä käytettäessä tietoja Athenan indekseillä.
Jos taulukossa ei ole osioindeksejä, AWS Glue lataa kaikki taulukon osiot ja suodattaa sitten ladatut osiot, mikä johtaa tehottomaan metatietojen noutoon. Analyysipalvelut, kuten Redshift Spectrum, Amazon EMR ja AWS Glue ETL Spark DataFrames, voivat nyt käyttää indeksejä osioiden hakemiseen, mikä johtaa merkittävään kyselyn suorituskykyyn.
Lisätietoja osioindekseistä ja kyselyn suorituskyvystä eri analyyttisissa koneissa on kohdassa Paranna Amazon Athena -kyselyn suorituskykyä AWS Glue Data Catalog -osioindeksien avulla ja Paranna kyselyn suorituskykyä AWS Glue -osioindeksien avulla.
Erityiset kiitokset kaikille, jotka osallistuivat tämän indeksointirobotin julkaisuun: Yuhang Chen, Kyle Duong ja Mita Gavade.
Tietoja kirjoittajista
Srividya Parthasarathy on vanhempi Big Data -arkkitehti AWS Lake Formation -tiimissä. Hän nauttii dataverkkoratkaisujen rakentamisesta ja niiden jakamisesta yhteisön kanssa.
Sandeep Adwankar on AWS:n vanhempi tekninen tuotepäällikkö. Hän työskentelee Kalifornian lahden alueella ja työskentelee asiakkaiden kanssa ympäri maailmaa muuttaakseen liiketoiminnan ja tekniset vaatimukset tuotteiksi, joiden avulla asiakkaat voivat parantaa tapaansa hallita, suojata ja käyttää tietoja.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- EVM Finance. Hajautetun rahoituksen yhtenäinen käyttöliittymä. Pääsy tästä.
- Quantum Media Group. IR/PR vahvistettu. Pääsy tästä.
- PlatoAiStream. Web3 Data Intelligence. Tietoa laajennettu. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/big-data/efficiently-crawl-your-data-lake-and-improve-data-access-with-aws-glue-crawler-using-partition-indexes/
- :on
- :On
- :missä
- $ YLÖS
- 1
- 100
- 11
- 27
- 32
- 8
- 9
- 90
- a
- pystyy
- pääsy
- Pääsy
- Tili
- tunnustaa
- poikki
- lisätä
- admin
- uudelleen
- Kaikki
- pitkin
- Myös
- Amazon
- Amazon Athena
- Amazonin EMR
- Amazon Web Services
- määrät
- an
- analyyttinen
- Analytics
- ja
- Kaikki
- suunnilleen
- OVAT
- ALUE
- noin
- AS
- At
- automaattisesti
- saatavissa
- välttää
- AWS
- AWS-pilven muodostuminen
- AWS-liima
- AWS-järvien muodostuminen
- perustua
- Lahti
- koska
- ollut
- Hyödyt
- Iso
- Big Data
- Rakentaminen
- liiketoiminta
- by
- Kalifornia
- CAN
- luettelo
- Aiheuttaa
- Muutokset
- maksut
- chen
- Valita
- valita
- luokittelu
- Sarake
- Pylväät
- tulee
- yhteisö
- verrata
- verrattuna
- täydellinen
- Console
- jatkuvasti
- osaltaan
- kustannukset
- tela
- luoda
- luotu
- luo
- Luominen
- luominen
- Nykyinen
- Asiakkaat
- tiedot
- tietojen käyttö
- Datajärvi
- tietokanta
- päivä
- oletusarvo
- osoittaa
- sijoittaa
- lauennut
- kuvata
- yksityiskohdat
- määrittää
- löysi
- alas
- aikana
- tehokkaasti
- myöskään
- mahdollistaa
- käytössä
- Moottorit
- Eetteri (ETH)
- jokainen
- laajeni
- selitti
- eksponentiaalisesti
- uute
- poimia tiedot
- nopeampi
- Ominaisuus
- suodattaa
- suodatus
- suodattimet
- lopullinen
- seurata
- jälkeen
- varten
- muodostus
- alkaen
- synnyttää
- tietty
- maapallo
- Kasvaa
- Kasvava
- Olla
- he
- raskas
- raskas nosto
- erittäin
- pitää
- tunti
- Miten
- Miten
- HTML
- http
- HTTPS
- IAM
- Identiteetti
- parantaa
- parannus
- parannuksia
- in
- Kasvaa
- Lisäykset
- indeksi
- indeksit
- tehoton
- tiedot
- tulee
- IT
- jpg
- Pitää
- pito
- avaimet
- järvi
- suurin
- käynnistää
- Layout
- nosto
- pitää
- linja
- kuormat
- tehdä
- hoitaa
- johto
- johtaja
- verkko
- Metadata
- ehkä
- miljoonia
- pöytäkirja
- Kuukausi
- lisää
- paljon
- täytyy
- Navigoida
- navigointi
- suunnistus
- tarvitaan
- Uusi
- hiljattain
- Nro
- nyt
- numero
- of
- on
- vain
- Optimoida
- or
- tilata
- meidän
- ulostulo
- yli
- sivulla
- lasi
- polku
- suorituskyky
- Platon
- Platonin tietotieto
- PlatonData
- Kirje
- esittää
- käsittely
- Tuotteet
- tuotepäällikkö
- Tuotteemme
- toimittaa
- vähentämällä
- alue
- tarvitaan
- vaatimukset
- Vaatii
- Esittelymateriaalit
- Saatu ja
- tulokset
- Rooli
- roolit
- ajaa
- juoksu
- sama
- sekuntia
- Osa
- turvallinen
- vanhempi
- Palvelut
- setti
- settings
- jakaminen
- hän
- Näytä
- merkittävä
- merkittävästi
- Yksinkertainen
- ratkaisu
- Ratkaisumme
- lähde
- Kipinä
- spektri
- pino
- Askeleet
- Levytila
- verkkokaupasta
- suora
- jono
- Onnistuneesti
- tuki
- järjestelmät
- taulukko
- ottaa
- joukkue-
- Tekninen
- sapluuna
- Kiitos
- että
- -
- heidän
- Niitä
- sitten
- Nämä
- ne
- tätä
- aika
- että
- tämän päivän
- otti
- Kääntää
- totta
- tyyppi
- tyypit
- varten
- ymmärtää
- toivottuja
- Päivitykset
- käyttää
- käytetty
- käyttämällä
- käyttää
- arvo
- arvot
- eri
- valtava
- todentaa
- versio
- oli
- Tapa..
- we
- verkko
- verkkopalvelut
- kun
- joka
- KUKA
- tulee
- with
- ilman
- Workgroup
- toimii
- maailman-
- yaml
- vuosi
- te
- Sinun
- zephyrnet