Olemme äskettäin ilmoitti tukea AWS-järvien muodostuminen hienorakeiset kulunvalvontakäytännöt Amazon Athena kyselyitä mihin tahansa tuettuun tiedostomuotoon tallennettuja tietoja käyttämällä taulukkomuotoja, kuten Apache Iceberg, Apache Hudi ja Apache Hive. AWS Lake Formationin avulla voit määrittää ja pakottaa tietokanta-, taulukko- ja saraketason käyttöoikeuskäytäntöjä Amazon S3:een tallennettujen Iceberg-taulukoiden kyselyä varten. Lake Formation tarjoaa valtuutus- ja hallintokerroksen Amazon S3:een tallennetuille tiedoille. Tämä ominaisuus edellyttää, että päivität versioon Athena-moottorin versio 3.
Suurilla organisaatioilla on usein liiketoimintalinjoja (LoBs), jotka toimivat itsenäisesti yritystietojen hallinnassa. Se tekee tiedon jakamisesta LoB-alueiden välillä ei-triviaalia. Nämä organisaatiot ovat ottaneet käyttöön liittoutuneen mallin, jossa jokaisella LoB:lla on itsenäinen oikeus tehdä päätöksiä tiedoistaan. He käyttävät julkaisija/kuluttaja-mallia keskitetyllä hallintokerroksella, jota käytetään käyttöoikeuksien valvontaan. Jos olet kiinnostunut oppimaan lisää dataverkkoarkkitehtuurista, käy osoitteessa Suunnittele tietoverkkoarkkitehtuuri käyttämällä AWS Lake Formationia ja AWS Gluea. Athena-moottorin versiossa 3 asiakkaat voivat käyttää samoja hienojakoisia ohjaimia avoimissa tietojärjestelmissä, kuten Apache Iceberg, Apache Hudi ja Apache Hive.
Tässä viestissä sukeltamme syvälle käyttötapaukseen, jossa sinulla on tuottaja/kuluttajamalli, jossa tietojen jakaminen on käytössä, jotta voit antaa rajoitetun pääsyn Apache Iceberg -taulukkoon, josta kuluttaja voi tehdä kyselyjä. Keskustelemme sarakesuodatuksesta tiettyjen rivien rajoittamiseksi, suodatuksesta saraketason pääsyn rajoittamiseksi, skeeman kehityksestä ja aikamatkoista.
Ratkaisun yleiskatsaus
Havainnollistaaksemme hienojakoisten käyttöoikeuksien toimivuutta Apache Iceberg -taulukoille Athena- ja Lake Formation -ohjelmien kanssa, määritimme seuraavat komponentit:
- Tuottajatilillä:
- An AWS-liima Tietokatalogi taulukon skeeman rekisteröimiseksi Apache Iceberg -muodossa
- Lake Formation tarjoaa hienojakoisen pääsyn kuluttajatilille
- Athena tarkistaa tuottajatilin tiedot
- Kuluttajatilillä:
- AWS Resource Access Manager (AWS RAM) luodaksesi kättelyn tuottajan Data Catalogin ja kuluttajan välille
- Lake Formation tarjoaa hienojakoisen pääsyn kuluttajatilille
- Athena tarkistaa tuottajatilin tiedot
Seuraava kaavio kuvaa arkkitehtuuria.
Edellytykset
Ennen kuin aloitat, varmista, että sinulla on seuraavat asiat:
Tietojen tuottajan asetukset
Tässä osiossa esittelemme vaiheet tietojen tuottajan määrittämiseksi.
Luo S3-ämpäri taulukkotietojen tallentamiseksi
Luomme uuden S3-ämpäri taulukon tietojen tallentamiseksi:
- Amazon S3 -konsolissa luoda S3-ämpäri ainutlaatuisella nimellä (tässä viestissä käytämme
iceberg-athena-lakeformation-blog
). - Luo tuottajakansio ämpäriin käytettäväksi taulukossa.
Rekisteröi taulukon S3-polku Lake Formationilla
Rekisteröimme S3:n täyden polun Lake Formationissa:
- Navigoi Lake Formation -konsoliin.
- Jos kirjaudut sisään ensimmäistä kertaa, sinua pyydetään luomaan järjestelmänvalvojan käyttäjä.
- Navigointiruudun kohdassa Rekisteröidy ja nauti, valitse Datajärvien sijainnit.
- Valita Rekisteröi sijaintija anna aiemmin luomasi S3-säilöpolku.
- Valita
AWSServiceRoleForLakeFormationDataAccess
varten IAM-rooli.
Lisätietoja rooleista on kohdassa Vaatimukset toimipaikkojen rekisteröinnissä käytettäville rooleille.
Jos olet ottanut käyttöön S3-säilösi salauksen, sinun on annettava Lake Formationille luvat suorittaa salaus- ja salauksenpurkutoimintoja. Viitata Salatun Amazon S3 -sijainnin rekisteröinti opastusta varten.
- Valita Rekisteröi sijainti.
Luo jäävuoripöytä Athenalla
Luodaan nyt taulukko Athenalla Apache Iceberg -muodon tukemana:
- Valitse Athena-konsolista Kyselyeditori navigointipaneelissa.
- Jos käytät Athenaa ensimmäistä kertaa, alla Asetukset, valitse hoitaa ja syötä aiemmin luomasi S3-ämpäripaikka (
iceberg-athena-lakeformation-blog/producer
). - Valita Säästä.
- Kirjoita kyselyeditoriin seuraava kysely (korvaa sijainti Lake Formationissa rekisteröimäsi S3-säilöllä). Huomaa, että käytämme oletustietokantaa, mutta voit käyttää mitä tahansa muuta tietokantaa.
- Valita ajaa.
Jaa taulukko kuluttajatilin kanssa
Toimivuuden havainnollistamiseksi toteutamme seuraavat skenaariot:
- Tarjoa pääsy valittuihin sarakkeisiin
- Tarjoa pääsy valituille riveille suodattimen perusteella
Suorita seuraavat vaiheet:
- Lake Formation -konsolissa alla olevassa navigointiruudussa Tietoluettelo, valitse Tietosuodattimet.
- Valita Luo uusi suodatin.
- varten Tietosuodattimen nimi, tulla sisään
blog_data_filter
. - varten Kohdetietokanta, tulla sisään
lf-demo-db
. - varten Kohdetaulukko, tulla sisään
consumer_iceberg
. - varten Saraketason käyttöoikeusvalitse Sisällytä sarakkeet.
- Valitse kuluttajalle jaettavat sarakkeet:
country, address, contactfirstname, city, customerid,
jacustomername
. - varten Rivisuodatinlauseke, syötä suodatin
country='France'
. - Valita Luo suodatin.
Myönnetään nyt pääsy kuluttajatilille consumer_iceberg
pöytä.
- Valitse siirtymisruudussa taulukot.
- Valitse kuluttaja_jäävuoritaulukko ja valitse Grant på den Toiminnot valikosta.
- valita Ulkoiset tilit.
- Anna ulkoisen tilin tunnus.
- valita Nimetyt tietoluetteloresurssit.
- Valitse tietokanta ja taulukko.
- varten Tietosuodattimet, valitse luomasi tietosuodatin.
- varten Tietosuodattimen käyttöoikeudet ja Myönnettävät käyttöoikeudetvalitse valita.
- Valita Grant.
Datan kuluttaja-asetukset
Tietojen kuluttajan määrittämiseksi hyväksymme resurssien jaon ja luomme taulukon käyttämällä AWS RAM -muistia ja Lake Formationia. Suorita seuraavat vaiheet:
- Kirjaudu sisään kuluttajatilille ja siirry AWS RAM -konsoliin.
- Alle Jaettu kanssani valitse siirtymisruudussa Resurssien osuudet.
- Valitse resurssiosuus.
- Valita Hyväksy resurssien jako.
- Huomaa seuraavissa vaiheissa käytettävän resurssiosuuden nimi.
- Navigoi Lake Formation -konsoliin.
- Jos kirjaudut sisään ensimmäistä kertaa, sinua pyydetään luomaan järjestelmänvalvojan käyttäjä.
- Valita Tietokannat navigointiruudussa ja valitse sitten tietokanta.
- On Toiminnot valikosta, valitse Luo resurssilinkki.
- varten Resurssin linkin nimi, anna resurssilinkin nimi (esim.
consumer_iceberg
). - Valitse tietokanta ja jaettu taulukko.
- Valita luoda.
Vahvista ratkaisu
Nyt voimme suorittaa erilaisia toimintoja taulukoissa tarkastaaksemme tarkat pääsynhallintalaitteet.
Lisää toiminto
Laitetaan tiedot sisään consumer_iceberg
taulukko tuottajatilillä ja tarkista, että tietojen suodatus toimii odotetulla tavalla kuluttajatilillä.
- Kirjaudu tuottajatilille.
- Valitse Athena-konsolista Kyselyeditori navigointipaneelissa.
- Käytä seuraavaa SQL:ää tietojen kirjoittamiseen ja lisäämiseen Iceberg-taulukkoon. Käytä Kyselyeditoria yhden kyselyn suorittamiseen kerrallaan. Voit korostaa/valita yhden kyselyn kerrallaan ja napsauttaa "Suorita"/"Suorita uudelleen:
- Käytä seuraavaa SQL:ää lukeaksesi ja valitaksesi tietoja Iceberg-taulukosta:
- Kirjaudu sisään kuluttajatilille.
- Suorita Athena-kyselyeditorissa seuraava SELECT-kysely jaetussa taulukossa:
Suodattimien perusteella kuluttaja näkee sarakkeiden osajoukon ja rivit, joissa maa on Ranska.
Päivitys/poistotoiminnot
Päivitetään nyt yksi riveistä ja poistetaan yksi kuluttajan kanssa jaetusta tietojoukosta.
- Kirjaudu tuottajatilille.
- Päivitykset
city='Paris' WHERE city='Reims'
ja poista rivicustomerid = 3;
- Tarkista päivitetty ja poistettu tietojoukko:
- Kirjaudu sisään kuluttajatilille.
- Suorita Athena-kyselyeditorissa seuraava SELECT-kysely jaetussa taulukossa:
Voimme havaita, että vain yksi rivi on käytettävissä ja kaupunki on päivitetty Pariisiin.
Kaavion kehitys: Lisää uusi sarake
Päivitetään yksi riveistä ja poistetaan yksi kuluttajan kanssa jaetusta tietojoukosta.
- Kirjaudu tuottajatilille.
- Lisää uusi sarake nimeltä
geo_loc
Iceberg-taulukossa. Käytä Kyselyeditoria yhden kyselyn suorittamiseen kerrallaan. Voit korostaa/valita yhden kyselyn kerrallaan ja napsauttaa "Suorita"/"Suorita uudelleen:
Näkyvyyden tarjoaminen äskettäin lisätyille geo_loc
sarakkeessa, meidän on päivitettävä Lake Formation -tietosuodatin.
- Valitse Lake Formation -konsolissa Tietosuodattimet navigointipaneelissa.
- Valitse tietosuodatin ja valitse muokata.
- Alle Saraketason käyttöoikeus, lisää uusi sarake (
geo_loc
). - Valita Säästä.
- Kirjaudu sisään kuluttajatilille.
- Suorita Athena-kyselyeditorissa seuraava
SELECT
kysely jaetussa taulukossa:
Uusi sarake geo_loc
on näkyvissä ja lisärivi.
Kaavion kehitys: Poista sarake
Päivitetään yksi riveistä ja poistetaan yksi kuluttajan kanssa jaetusta tietojoukosta.
- Kirjaudu tuottajatilille.
- Muuta taulukkoa pudottaaksesi osoitesarakkeen jäävuoritaulukosta. Käytä Kyselyeditoria yhden kyselyn suorittamiseen kerrallaan. Voit korostaa/valita yhden kyselyn kerrallaan ja napsauttaa "Suorita"/"Suorita uudelleen:
Voimme havaita, että sarakkeen osoite ei ole taulukossa.
- Kirjaudu sisään kuluttajatilille.
- Suorita Athena-kyselyeditorissa seuraava SELECT-kysely jaetussa taulukossa:
Sarakkeen osoite ei ole taulukossa.
Aikamatka
Olemme nyt vaihtaneet Iceberg-pöytää useita kertoja. Iceberg-pöytä pitää kirjaa tilannekuvista. Suorita seuraavat vaiheet tutustuaksesi aikamatkatoimintoihin:
- Kirjaudu tuottajatilille.
- Kysy järjestelmätaulukosta:
Voimme havaita, että olemme luoneet useita tilannekuvia.
- Merkitse muistiin yksi
committed_at
arvot, joita käytetään seuraavissa vaiheissa (tässä esimerkissä2023-01-29 21:35:02.176 UTC
). - Käytä aikamatkaa löytääksesi taulukon tilannekuvan. Käytä Kyselyeditoria yhden kyselyn suorittamiseen kerrallaan. Voit korostaa/valita yhden kyselyn kerrallaan ja napsauttaa "Suorita"/"Suorita uudelleen:
Puhdistaa
Suorita seuraavat vaiheet välttääksesi tulevat maksut:
- Poista Amazon S3 -konsolissa taulukon tallennustila (tätä viestiä varten jäävuori-athena-lakeformation-blog).
- Suorita Athena-konsolin tuottajatilillä seuraavat komennot poistaaksesi luomasi taulukot:
- Peruuta kuluttajatilin käyttöoikeudet Lake Formation -konsolin tuottajatilillä.
- Poista Athena-kyselyn tulossijaintiin käytetty S3-säilö kuluttajatililtä.
Yhteenveto
Icebergin kaltaisten tiedostomuotojen rajat ylittävien, hienorakeisten kulunvalvontakäytäntöjen tuen ansiosta sinulla on joustavuus työskennellä minkä tahansa Athenen tukeman muodon kanssa. Mahdollisuus suorittaa CRUD-toimintoja S3-datajärven dataa vastaan yhdistettynä Lake Formationin hienorakeisiin pääsynhallintatoimintoihin kaikille Athenen tukemille taulukoille ja formaateille tarjoaa mahdollisuuksia innovoida ja yksinkertaistaa tietostrategiaasi. Haluaisimme kuulla palautettasi!
Tietoja kirjoittajista
Kishore Dhamodaran on AWS:n vanhempi ratkaisuarkkitehti. Kishore auttaa strategisia asiakkaita heidän pilviyritysstrategiassaan ja siirtymismatkassaan hyödyntäen hänen vuosien alan- ja pilvikokemustaan.
Jack Ye on AWS:n Athena Data Lake and Storage -tiimin ohjelmistosuunnittelija. Hän on Apache Iceberg Committer ja PMC:n jäsen.
Chris Olson on AWS:n ohjelmistokehitysinsinööri.
Xiaoxuan Li on AWS:n ohjelmistokehitysinsinööri.
Rahul Sonawane on pääasiallinen analytiikkaratkaisuarkkitehti AWS:ssä. Hänen erikoisalaansa ovat AI/ML ja Analytics.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- Platoblockchain. Web3 Metaverse Intelligence. Tietoa laajennettu. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/big-data/interact-with-apache-iceberg-tables-using-amazon-athena-and-cross-account-fine-grained-permissions-using-aws-lake-formation/
- :On
- $ YLÖS
- 1
- 10
- 100
- 7
- a
- kyky
- Meistä
- Hyväksyä
- pääsy
- Tili
- poikki
- lisä-
- lisä-
- lisäinformaatio
- osoite
- admin
- hyväksytty
- vastaan
- AI / ML
- Kaikki
- mahdollistaa
- Amazon
- Amazon Athena
- Analytics
- ja
- Apache
- arkkitehtuuri
- OVAT
- ALUE
- Art
- AS
- At
- lupa
- saatavissa
- välttää
- AWS
- AWS-järvien muodostuminen
- Tukena
- perustua
- välillä
- liiketoiminta
- yritykset
- by
- nimeltään
- CAN
- luettelo
- keskitetty
- tietty
- muuttaa
- maksut
- Valita
- Kaupunki
- napsauttaa
- pilvi
- Sarake
- Pylväät
- KOM
- yhdistetty
- täydellinen
- osat
- Console
- kuluttaja
- ohjaus
- valvonta
- maa
- luoda
- luotu
- Luominen
- luominen
- Ylittää
- Asiakkaat
- tiedot
- Datajärvi
- tietojen jakaminen
- tietostrategia
- tietokanta
- päätökset
- syvä
- syväsukellus
- oletusarvo
- Kehitys
- eri
- pohtia
- alas
- Pudota
- kukin
- Aikaisemmin
- toimittaja
- EMEA
- käytössä
- salattu
- salaus
- Moottori
- insinööri
- enter
- yritys
- Eetteri (ETH)
- evoluutio
- esimerkki
- odotettu
- experience
- tutkia
- ulkoinen
- filee
- suodattaa
- suodatus
- suodattimet
- Löytää
- Etunimi
- ensimmäistä kertaa
- Joustavuus
- jälkeen
- varten
- muoto
- muodostus
- puitteet
- Ranska
- alkaen
- koko
- toiminnallisuus
- tulevaisuutta
- syntyy
- saada
- Antaa
- hallinto
- myöntää
- ohjaus
- Olla
- ottaa
- kuulla
- auttaa
- Hive
- HTML
- http
- HTTPS
- ID
- toteuttaa
- in
- Inc.
- teollisuus
- tiedot
- innovoida
- olla vuorovaikutuksessa
- kiinnostunut
- IT
- matka
- jpg
- järvi
- Maa
- kerros
- oppiminen
- Taso
- vipuvaikutuksen
- RAJOITA
- linjat
- LINK
- sijainti
- rakkaus
- Lyon
- tehdä
- TEE
- toimitusjohtaja
- jäsen
- valikko
- muutto
- malli
- lisää
- moninkertainen
- nimi
- Navigoida
- suunnistus
- Tarve
- Uusi
- seuraava
- NYC
- tarkkailla
- of
- on
- ONE
- avata
- avoin data
- käyttää
- Operations
- Mahdollisuudet
- organisaatioiden
- Muut
- lasi
- Pariisi
- polku
- suorittaa
- Oikeudet
- Platon
- Platonin tietotieto
- PlatonData
- politiikkaa
- Kirje
- esittää
- Pääasiallinen
- tuottaja
- toimittaa
- tarjoaa
- RAM
- Lue
- äskettäin
- heijastunut
- ilmoittautua
- kirjattu
- korvata
- Vaatii
- resurssi
- rajoittaa
- rajoitettu
- johtua
- Rooli
- roolit
- RIVI
- ajaa
- sama
- Säästä
- skenaariot
- Osa
- valittu
- vanhempi
- setti
- Jaa:
- yhteinen
- jakaminen
- yksinkertaistaa
- Kuva
- Tuotteemme
- ohjelmistokehitys
- Software Engineer
- Ratkaisumme
- Erikoisuus
- SQL
- alkoi
- Askeleet
- Levytila
- verkkokaupasta
- tallennettu
- Strateginen
- Strategia
- jono
- niin
- tuki
- Tuetut
- järjestelmä
- taulukko
- joukkue-
- että
- -
- heidän
- Nämä
- aika
- aikamatka
- kertaa
- aikaleima
- että
- raita
- matkustaa
- varten
- unique
- Päivitykset
- päivitetty
- parantaa
- USA
- käyttää
- käyttäjä
- UTC
- VAHVISTA
- arvot
- todentaa
- versio
- näkyvyys
- näkyvä
- Vierailla
- with
- Referenssit
- toimii
- kirjoittaa
- vuotta
- Sinun
- zephyrnet