Nedavno smo razglasitve podpora Oblikovanje jezera AWS natančne politike nadzora dostopa v Amazonska Atena poizvedbe za podatke, shranjene v katerem koli podprtem formatu datoteke z uporabo formatov tabel, kot so Apache Iceberg, Apache Hudi in Apache Hive. AWS Lake Formation vam omogoča, da definirate in uveljavite politike dostopa na ravni baze podatkov, tabel in stolpcev za poizvedovanje po tabelah Iceberg, shranjenih v Amazon S3. Lake Formation zagotavlja plast avtorizacije in upravljanja podatkov, shranjenih v Amazon S3. To zmožnost zahteva nadgradnjo na Motor Athena različica 3.
Velike organizacije imajo pogosto področja poslovanja (LoB), ki delujejo avtonomno pri upravljanju svojih poslovnih podatkov. Zaradi tega je izmenjava podatkov med LoB-ji nepomembna. Te organizacije so sprejele zvezni model, pri čemer ima vsak LoB avtonomijo pri odločanju o svojih podatkih. Uporabljajo model založnik/potrošnik s centralizirano plastjo upravljanja, ki se uporablja za uveljavljanje nadzora dostopa. Če vas zanima več o arhitekturi podatkovne mreže, obiščite Oblikujte arhitekturo podatkovne mreže z uporabo AWS Lake Formation in AWS Glue. Z motorjem Athena različice 3 lahko stranke uporabljajo enake natančne kontrole za odprta podatkovna ogrodja, kot so Apache Iceberg, Apache Hudi in Apache Hive.
V tej objavi se poglobimo v primer uporabe, kjer imate model proizvajalec/potrošnik z omogočeno skupno rabo podatkov, da omogočite omejen dostop do tabele Apache Iceberg, po kateri lahko potrošnik povpraša. Razpravljali bomo o filtriranju stolpcev za omejitev določenih vrstic, filtriranju za omejitev dostopa na ravni stolpcev, razvoju sheme in potovanju skozi čas.
Pregled rešitev
Za ponazoritev funkcionalnosti natančno določenih dovoljenj za tabele Apache Iceberg z Atheno in Lake Formation smo nastavili naslednje komponente:
- V računu proizvajalca:
- An AWS lepilo Katalog podatkov za registracijo sheme tabele v formatu Apache Iceberg
- Lake Formation za zagotavljanje natančnega dostopa do potrošniškega računa
- Athena, da preveri podatke iz računa proizvajalca
- V potrošniškem računu:
- Upravitelj dostopa do virov AWS (AWS RAM) za ustvarjanje rokovanja med katalogom podatkov proizvajalca in potrošnikom
- Lake Formation za zagotavljanje natančnega dostopa do potrošniškega računa
- Athena za preverjanje podatkov iz računa proizvajalca
Naslednji diagram prikazuje arhitekturo.
Predpogoji
Preden začnete, se prepričajte, da imate naslednje:
Nastavitev proizvajalca podatkov
V tem razdelku predstavljamo korake za nastavitev proizvajalca podatkov.
Ustvarite vedro S3 za shranjevanje podatkov tabele
Ustvarimo novo vedro S3, da shranimo podatke za tabelo:
- Na konzoli Amazon S3, ustvarite vedro S3 z edinstvenim imenom (za to objavo uporabljamo
iceberg-athena-lakeformation-blog
). - Ustvarite mapo proizvajalca znotraj vedra, ki jo boste uporabili za tabelo.
Registrirajte pot S3 za shranjevanje tabele z uporabo Lake Formation
Registriramo celotno pot S3 v Lake Formation:
- Pomaknite se do konzole Lake Formation.
- Če se prijavljate prvič, boste pozvani, da ustvarite skrbniškega uporabnika.
- V podoknu za krmarjenje pod Registrirajte se in zaužijte, izberite Lokacije podatkovnega jezera.
- Izberite Registriraj lokacijoin zagotovite pot vedra S3, ki ste jo ustvarili prej.
- Izberite
AWSServiceRoleForLakeFormationDataAccess
za vloga IAM.
Za dodatne informacije o vlogah glejte Zahteve za vloge, ki se uporabljajo za registracijo lokacij.
Če ste omogočili šifriranje vedra S3, morate za Lake Formation zagotoviti dovoljenja za izvajanje operacij šifriranja in dešifriranja. Nanašati se na Registracija šifrirane lokacije Amazon S3 za vodenje.
- Izberite Registriraj lokacijo.
Z Atheno ustvarite mizo Iceberg
Zdaj pa ustvarimo tabelo z uporabo formata Athena, ki ga podpira Apache Iceberg:
- Na konzoli Athena izberite Urejevalnik poizvedb v podoknu za krmarjenje.
- Če Atheno uporabljate prvič, pod Nastavitve, izberite Upravljanje in vnesite lokacijo vedra S3, ki ste jo ustvarili prej (
iceberg-athena-lakeformation-blog/producer
). - Izberite Shrani.
- V urejevalnik poizvedb vnesite naslednjo poizvedbo (zamenjajte lokacijo z vedrom S3, ki ste ga registrirali pri Lake Formation). Upoštevajte, da uporabljamo privzeto bazo podatkov, vendar lahko uporabite katero koli drugo bazo podatkov.
- Izberite Run.
Delite tabelo s potrošniškim računom
Za ponazoritev funkcionalnosti izvajamo naslednje scenarije:
- Omogoči dostop do izbranih stolpcev
- Omogočite dostop do izbranih vrstic na podlagi filtra
Izvedite naslednje korake:
- Na konzoli Lake Formation v navigacijskem podoknu pod Katalog podatkov, izberite Podatkovni filtri.
- Izberite Ustvari nov filter.
- za Ime podatkovnega filtra, vnesite
blog_data_filter
. - za Ciljna zbirka podatkov, vnesite
lf-demo-db
. - za Ciljna tabela, vnesite
consumer_iceberg
. - za Dostop na ravni stolpcatako, da izberete Vključite stolpce.
- Izberite stolpce, ki jih želite deliti s potrošnikom:
country, address, contactfirstname, city, customerid,
incustomername
. - za Izraz filtra vrstice, vnesite filter
country='France'
. - Izberite Ustvari filter.
Zdaj pa omogočimo dostop do potrošniškega računa na consumer_iceberg
miza.
- V podoknu za krmarjenje izberite Mize.
- Izberite tabelo consumer_iceberg in izberite Grant o Proces meni.
- Izberite Zunanji računi.
- Vnesite ID zunanjega računa.
- Izberite Viri imenskega kataloga podatkov.
- Izberite bazo podatkov in tabelo.
- za Podatkovni filtri, izberite podatkovni filter, ki ste ga ustvarili.
- za Dovoljenja podatkovnega filtra in Dovoljenja, ki jih je mogoče dodelititako, da izberete Izberite.
- Izberite Grant.
Nastavitev porabnika podatkov
Za nastavitev porabnika podatkov sprejmemo delež virov in ustvarimo tabelo z uporabo AWS RAM in Lake Formation. Izvedite naslednje korake:
- Prijavite se v uporabniški račun in se pomaknite do konzole AWS RAM.
- Pod Deljeno z mano v podoknu za krmarjenje izberite Deleži virov.
- Izberite svoj delež virov.
- Izberite Sprejmi skupno rabo virov.
- Zapomnite si ime skupne rabe vira, ki ga želite uporabiti v naslednjih korakih.
- Pomaknite se do konzole Lake Formation.
- Če se prijavljate prvič, boste pozvani, da ustvarite skrbniškega uporabnika.
- Izberite Baze podatkov v podoknu za krmarjenje, nato izberite svojo bazo podatkov.
- o Proces izberite meni Ustvari povezavo do vira.
- za Ime povezave do vira, vnesite ime povezave do vira (na primer
consumer_iceberg
). - Izberite svojo bazo podatkov in skupno tabelo.
- Izberite ustvarjanje.
Potrdite rešitev
Zdaj lahko izvajamo različne operacije na tabelah za preverjanje natančnega nadzora dostopa.
Operacija vstavljanja
Vstavimo podatke v consumer_iceberg
tabelo v računu proizvajalca in potrdite, da filtriranje podatkov deluje po pričakovanjih v računu potrošnika.
- Prijavite se v račun proizvajalca.
- Na konzoli Athena izberite Urejevalnik poizvedb v podoknu za krmarjenje.
- Uporabite naslednji SQL za pisanje in vstavljanje podatkov v tabelo Iceberg. Uporabite urejevalnik poizvedb za zagon ene poizvedbe naenkrat. Lahko označite/izberete eno poizvedbo naenkrat in kliknete »Zaženi«/»Zaženi znova:
- Za branje in izbiro podatkov v tabeli Iceberg uporabite naslednji SQL:
- Prijavite se v račun potrošnika.
- V urejevalniku poizvedb Athena zaženite naslednjo poizvedbo SELECT na tabeli v skupni rabi:
Na podlagi filtrov ima potrošnik vidnost podnabora stolpcev in vrstic, kjer je država Francija.
Operacije posodobitve/brisanja
Zdaj pa posodobimo eno od vrstic in izbrišite eno iz nabora podatkov, ki je v skupni rabi s potrošnikom.
- Prijavite se v račun proizvajalca.
- Nadgradnja
city='Paris' WHERE city='Reims'
in izbrišite vrsticocustomerid = 3;
- Preverite posodobljen in izbrisan nabor podatkov:
- Prijavite se v račun potrošnika.
- V urejevalniku poizvedb Athena zaženite naslednjo poizvedbo SELECT na tabeli v skupni rabi:
Opazimo lahko, da je na voljo samo ena vrstica in mesto je posodobljeno na Pariz.
Razvoj sheme: dodajte nov stolpec
Posodobimo eno od vrstic in eno izbrišemo iz nabora podatkov, ki je v skupni rabi s potrošnikom.
- Prijavite se v račun proizvajalca.
- Dodajte nov stolpec z imenom
geo_loc
v tabeli Iceberg. Uporabite urejevalnik poizvedb za zagon ene poizvedbe naenkrat. Lahko označite/izberete eno poizvedbo naenkrat in kliknete »Zaženi«/»Zaženi znova:
Za zagotovitev vidnosti na novo dodanih geo_loc
moramo posodobiti podatkovni filter Lake Formation.
- Na konzoli Lake Formation izberite Podatkovni filtri v podoknu za krmarjenje.
- Izberite svoj podatkovni filter in izberite Uredi.
- Pod Dostop na ravni stolpca, dodajte nov stolpec (
geo_loc
). - Izberite Shrani.
- Prijavite se v račun potrošnika.
- V urejevalniku poizvedb Athena zaženite naslednje
SELECT
poizvedba v skupni tabeli:
Nova kolumna geo_loc
je vidna in dodatna vrstica.
Razvoj sheme: Izbriši stolpec
Posodobimo eno od vrstic in eno izbrišemo iz nabora podatkov, ki je v skupni rabi s potrošnikom.
- Prijavite se v račun proizvajalca.
- Spremenite tabelo, da iz tabele Iceberg izpustite naslovni stolpec. Uporabite urejevalnik poizvedb za zagon ene poizvedbe naenkrat. Lahko označite/izberete eno poizvedbo naenkrat in kliknete »Zaženi«/»Zaženi znova:
Opazimo lahko, da naslov stolpca ni prisoten v tabeli.
- Prijavite se v račun potrošnika.
- V urejevalniku poizvedb Athena zaženite naslednjo poizvedbo SELECT na tabeli v skupni rabi:
Naslova stolpca ni v tabeli.
Potovanje skozi čas
Zdaj smo večkrat spremenili tabelo Iceberg. Tabela Iceberg beleži posnetke. Izvedite naslednje korake, da raziščete funkcijo potovanja skozi čas:
- Prijavite se v račun proizvajalca.
- Poizvedite sistemsko tabelo:
Opazimo lahko, da smo ustvarili več posnetkov.
- Zapišite si enega od
committed_at
vrednosti za uporabo v naslednjih korakih (za ta primer2023-01-29 21:35:02.176 UTC
). - Uporabite potovanje skozi čas, da poiščete posnetek tabele. Uporabite urejevalnik poizvedb za zagon ene poizvedbe naenkrat. Lahko označite/izberete eno poizvedbo naenkrat in kliknete »Zaženi«/»Zaženi znova:
Čiščenje
Izvedite naslednje korake, da se izognete prihodnjim stroškom:
- Na konzoli Amazon S3 izbrišite vedro za shranjevanje tabele (za to objavo, iceberg-athena-lakeformation-blog).
- V računu proizvajalca na konzoli Athena zaženite naslednje ukaze, da izbrišete tabele, ki ste jih ustvarili:
- V računu proizvajalca na konzoli Lake Formation prekličite dovoljenja za račun potrošnika.
- Izbrišite vedro S3, uporabljeno za lokacijo rezultatov poizvedbe Athena, iz računa potrošnika.
zaključek
S podporo za navzkrižne račune, natančne politike nadzora dostopa za formate, kot je Iceberg, imate prilagodljivost za delo s katerim koli formatom, ki ga podpira Athena. Zmožnost izvajanja operacij CRUD za podatke v vašem podatkovnem jezeru S3 v kombinaciji s podrobnimi kontrolami dostopa Lake Formation za vse tabele in formate, ki jih podpira Athena, ponuja priložnosti za inovacije in poenostavitev vaše podatkovne strategije. Radi bi slišali vaše povratne informacije!
O avtorjih
Kishore Dhamodaran je višji arhitekt rešitev pri AWS. Kishore pomaga strateškim strankam pri njihovi strategiji podjetij v oblaku in migracijski poti, pri čemer izkorišča svoje dolgoletne izkušnje v industriji in oblaku.
Jack Ye je programski inženir ekipe Athena Data Lake and Storage pri AWS. Je komiter Apache Iceberg in član PMC.
Chris Olson je inženir za razvoj programske opreme pri AWS.
Xiaoxuan Li je inženir za razvoj programske opreme pri AWS.
Rahul Sonawane je glavni arhitekt analitičnih rešitev pri AWS z AI/ML in analitiko kot področjem njegove specialnosti.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. Dostopite tukaj.
- vir: 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/
- : je
- $GOR
- 1
- 10
- 100
- 7
- a
- sposobnost
- O meni
- Sprejmi
- dostop
- Račun
- čez
- dodano
- Dodatne
- Dodatne informacije
- Naslov
- admin
- sprejet
- proti
- AI / ML
- vsi
- omogoča
- Amazon
- Amazonska Atena
- analitika
- in
- Apache
- Arhitektura
- SE
- OBMOČJE
- Umetnost
- AS
- At
- pooblastilo
- Na voljo
- izogniti
- AWS
- Oblikovanje jezera AWS
- Backed
- temeljijo
- med
- poslovni
- podjetja
- by
- se imenuje
- CAN
- Katalog
- centralizirano
- nekatere
- spremenite
- Stroški
- Izberite
- mesto
- klik
- Cloud
- Stolpec
- Stolpci
- COM
- kombinirani
- dokončanje
- deli
- Konzole
- Potrošnik
- nadzor
- Nadzor
- država
- ustvarjajo
- ustvaril
- Ustvarjanje
- Oblikovanje
- Cross
- Stranke, ki so
- datum
- Data jezero
- izmenjavo podatkov
- podatkovna strategija
- Baze podatkov
- odločitve
- globoko
- globok potop
- privzeto
- Razvoj
- drugačen
- razpravlja
- navzdol
- Drop
- vsak
- prej
- urednik
- E-naslov
- EMEA
- omogočena
- šifriran
- šifriranje
- Motor
- inženir
- Vnesite
- Podjetje
- Eter (ETH)
- evolucija
- Primer
- Pričakuje
- izkušnje
- raziskuje
- zunanja
- file
- filter
- filtriranje
- Filtri
- Najdi
- prva
- prvič
- prilagodljivost
- po
- za
- format
- Oblikovanje
- okviri
- Francija
- iz
- polno
- funkcionalnost
- Prihodnost
- ustvarila
- dobili
- Daj
- upravljanje
- odobri
- Navodila
- Imajo
- ob
- slišati
- Pomaga
- Panj
- HTML
- http
- HTTPS
- ID
- izvajati
- in
- Inc
- Industrija
- Podatki
- inovacije
- interakcijo
- zainteresirani
- IT
- Potovanje
- jpg
- Jezero
- Država
- plast
- učenje
- Stopnja
- vzvod
- LIMIT
- linije
- LINK
- kraj aktivnosti
- ljubezen
- Lyon
- Znamka
- IZDELA
- upravljanje
- član
- Meni
- migracije
- Model
- več
- več
- Ime
- Krmarjenje
- ostalo
- Nimate
- Novo
- Naslednja
- NYC
- opazujejo
- of
- on
- ONE
- odprite
- Odpri podatki
- deluje
- operacije
- Priložnosti
- organizacije
- Ostalo
- podokno
- paris
- pot
- opravlja
- Dovoljenja
- platon
- Platonova podatkovna inteligenca
- PlatoData
- politike
- Prispevek
- predstaviti
- , ravnateljica
- Proizvajalec
- zagotavljajo
- zagotavlja
- RAM
- Preberi
- Pred kratkim
- odsevalo
- Registracija
- registriranih
- zamenjajte
- zahteva
- vir
- omejiti
- omejeno
- povzroči
- vloga
- vloge
- ROW
- Run
- Enako
- Shrani
- scenariji
- Oddelek
- izbran
- višji
- nastavite
- Delite s prijatelji, znanci, družino in partnerji :-)
- deli
- delitev
- poenostavitev
- Posnetek
- Software
- Razvoj programske opreme
- Software Engineer
- rešitve
- Posebnost
- SQL
- začel
- Koraki
- shranjevanje
- trgovina
- shranjeni
- Strateško
- Strategija
- String
- taka
- podpora
- Podprti
- sistem
- miza
- skupina
- da
- O
- njihove
- te
- čas
- Čas potovanja
- krat
- Časovni žig
- do
- sledenje
- potovanja
- pod
- edinstven
- Nadgradnja
- posodobljeno
- nadgradnja
- ZDA
- uporaba
- uporabnik
- UTC
- POTRDI
- Vrednote
- preverjanje
- različica
- vidljivost
- vidna
- obisk
- z
- delo
- deluje
- pisati
- let
- Vaša rutina za
- zefirnet