Nemrég bejelentés támogatása AWS-tó formáció finomszemcsés hozzáférés-vezérlési házirendek Amazon Athéné bármely támogatott fájlformátumban tárolt adatok lekérdezése olyan táblázatformátumok használatával, mint az Apache Iceberg, Apache Hudi és Apache Hive. Az AWS Lake Formation lehetővé teszi adatbázis-, tábla- és oszlopszintű hozzáférési házirendek meghatározását és érvényesítését az Amazon S3-ban tárolt Iceberg-táblázatok lekérdezéséhez. A Lake Formation engedélyezési és irányítási réteget biztosít az Amazon S3-ban tárolt adatokhoz. Ehhez a képességhez frissítenie kell Athena motor 3-as verziója.
A nagy szervezetek gyakran rendelkeznek olyan üzletágakkal (LoB), amelyek önállóan kezelik üzleti adataikat. Ez nem triviálissá teszi az adatok megosztását a LoB-k között. Ezek a szervezetek egyesített modellt alkalmaztak, amelyben minden egyes LoB önálló döntést hoz az adataival kapcsolatban. A kiadói/fogyasztói modellt használják központi irányítási réteggel, amelyet a hozzáférés-szabályozás kényszerítésére használnak. Ha többet szeretne megtudni az adatháló-architektúráról, látogasson el ide Tervezzen adatháló-architektúrát az AWS Lake Formation és az AWS Glue segítségével. Az Athena motor 3-as verziójával az ügyfelek ugyanazokat a finomszemcsés vezérlőket használhatják a nyílt adatrendszerekhez, például az Apache Iceberghez, az Apache Hudihoz és az Apache Hive-hez.
Ebben a bejegyzésben egy olyan használati esetet mutatunk be, amelyben egy gyártó/fogyasztói modell engedélyezve van az adatmegosztással, amely korlátozott hozzáférést biztosít egy Apache Iceberg táblához, amelyet a fogyasztó lekérdezhet. Megvitatjuk az oszlopszűrést bizonyos sorok korlátozására, az oszlopszintű hozzáférést korlátozó szűrést, a séma alakulását és az időutazást.
Megoldás áttekintése
Az Athena és a Lake Formation Apache Iceberg tábláihoz tartozó finomszemcsés engedélyek funkcionalitásának szemléltetésére a következő összetevőket állítottuk be:
- A termelői fiókban:
- An AWS ragasztó Adatkatalógus egy táblázat sémájának Apache Iceberg formátumban történő regisztrálásához
- Lake Formation, hogy finom szemcsés hozzáférést biztosítson a fogyasztói fiókhoz
- Az Athena segítségével ellenőrizheti a termelői fiókból származó adatokat
- A fogyasztói fiókban:
- AWS Resource Access Manager (AWS RAM), hogy kézfogást hozzon létre a gyártó adatkatalógusa és a fogyasztó között
- Lake Formation, hogy finom szemcsés hozzáférést biztosítson a fogyasztói fiókhoz
- Az Athena a gyártói fiókból származó adatok ellenőrzéséhez
Az alábbi ábra szemlélteti az architektúrát.
Előfeltételek
Mielőtt elkezdené, győződjön meg arról, hogy rendelkezik a következőkkel:
Adatgyártó beállítása
Ebben a részben bemutatjuk az adatelőállító beállításának lépéseit.
Hozzon létre egy S3 tárolót a táblázat adatainak tárolására
Létrehozunk egy új S3 tárolót a táblázat adatainak mentéséhez:
- Az Amazon S3 konzolon hozzon létre egy S3 vödröt egyedi névvel (ehhez a bejegyzéshez használjuk
iceberg-athena-lakeformation-blog
). - Hozza létre a termelői mappát a tárolóban, amelyet a táblázathoz használ.
Regisztrálja a táblát tároló S3 útvonalat a Lake Formation segítségével
Az S3 teljes útvonalát a Lake Formationben regisztráljuk:
- Navigáljon a Lake Formation konzolhoz.
- Ha először jelentkezik be, a rendszer felkéri, hogy hozzon létre egy rendszergazdai felhasználót.
- A navigációs ablakban a Regisztráljon és nyeljen le, választ Data tó helyei.
- 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 Regisztrálja a helyet, és adja meg a korábban létrehozott S3 csoport elérési útját.
- 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
AWSServiceRoleForLakeFormationDataAccess
mert IAM szerepkör.
A szerepekkel kapcsolatos további információkért lásd: A helyek regisztrálásához használt szerepkörök követelményei.
Ha engedélyezte az S3 csoport titkosítását, engedélyt kell adnia a Lake Formation számára a titkosítási és visszafejtési műveletek végrehajtásához. Hivatkozni Titkosított Amazon S3 hely regisztrálása útmutatásul.
- 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 Regisztrálja a helyet.
Hozzon létre egy Iceberg táblázatot az Athena segítségével
Most készítsük el a táblázatot az Apache Iceberg formátum által támogatott Athena használatával:
- Az Athena konzolon válassza a lehetőséget Lekérdezés-szerkesztő a navigációs ablaktáblában.
- Ha először használja az Athénét, a beállítások, választ kezel és adja meg a korábban létrehozott S3 vödör helyét (
iceberg-athena-lakeformation-blog/producer
). - 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 Megtakarítás.
- A lekérdezésszerkesztőben írja be a következő lekérdezést (cserélje ki a helyet a Lake Formationnél regisztrált S3 tárolóra). Vegye figyelembe, hogy az alapértelmezett adatbázist használjuk, de használhat bármilyen más adatbázist.
- 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 futás.
Ossza meg a táblázatot a fogyasztói fiókkal
A funkcionalitás szemléltetésére a következő forgatókönyveket valósítjuk meg:
- Hozzáférés biztosítása a kiválasztott oszlopokhoz
- Hozzáférés biztosítása a kiválasztott sorokhoz szűrő alapján
Hajtsa végre a következő lépéseket:
- A Lake Formation konzolon, a navigációs ablaktáblában Adatkatalógus, választ Adatszűrők.
- 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 Hozzon létre új szűrőt.
- A Adatszűrő neve, belép
blog_data_filter
. - A Cél adatbázis, belép
lf-demo-db
. - A Céltábla, belép
consumer_iceberg
. - A Oszlopszintű hozzáférésválassza Oszlopok szerepeltetése.
- Válassza ki a fogyasztóval megosztani kívánt oszlopokat:
country, address, contactfirstname, city, customerid,
és acustomername
. - A Sorszűrő kifejezés, adja meg a szűrőt
country='France'
. - 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 Hozzon létre szűrőt.
Most adjunk hozzáférést a fogyasztói fiókhoz consumer_iceberg
táblázat.
- A navigációs panelen válassza a lehetőséget Asztalok.
- Válassza ki a fogyasztó_jéghegy táblát, és válassza ki Grant a Hozzászólások menüben.
- választ Külső számlák.
- Adja meg a külső fiókazonosítót.
- választ Elnevezett adatkatalógus-források.
- Válassza ki az adatbázist és a táblázatot.
- A Adatszűrők, válassza ki a létrehozott adatszűrőt.
- A Adatszűrő engedélyek és a Megadható engedélyekválassza választ.
- 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 Grant.
Adatfogyasztó beállítása
Az adatfogyasztó beállításához elfogadjuk az erőforrás-megosztást, és létrehozunk egy táblázatot az AWS RAM és a Lake Formation használatával. Hajtsa végre a következő lépéseket:
- Jelentkezzen be a fogyasztói fiókba, és lépjen az AWS RAM konzolra.
- Alatt Megosztotta velem a navigációs ablakban válassza a lehetőséget Erőforrás megosztások.
- Válassza ki az erőforrás megosztását.
- 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 Erőforrás megosztás elfogadása.
- Jegyezze fel a következő lépésekben használandó erőforrás-megosztás nevét.
- Navigáljon a Lake Formation konzolhoz.
- Ha először jelentkezik be, a rendszer felkéri, hogy hozzon létre egy rendszergazdai felhasználót.
- 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 Adatbázisok a navigációs ablakban, majd válassza ki az adatbázist.
- A Hozzászólások menüben válasszon Erőforrás hivatkozás létrehozása.
- A Erőforrás hivatkozás neve, írja be az erőforráshivatkozás nevét (például
consumer_iceberg
). - Válassza ki az adatbázist és a megosztott táblát.
- 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 Teremt.
Érvényesítse a megoldást
Most már különböző műveleteket futtathatunk a táblákon a finomszemcsés hozzáférési vezérlők érvényesítéséhez.
Beszúrás művelet
Szúrjunk be adatokat a consumer_iceberg
táblázatot a termelői fiókban, és ellenőrizze, hogy az adatszűrés a fogyasztói fiókban elvárt módon működik.
- Jelentkezzen be a termelői fiókba.
- Az Athena konzolon válassza a lehetőséget Lekérdezés-szerkesztő a navigációs ablaktáblában.
- Használja a következő SQL-t adatok írásához és beszúrásához az Iceberg táblába. Használja a Lekérdezésszerkesztőt egy-egy lekérdezés futtatásához. Egyszerre egy lekérdezést jelölhet ki/jelölhet ki, majd kattintson a „Futtatás”/„Futtatás újra” gombra:
- Használja a következő SQL-t az Iceberg tábla adatainak olvasásához és kiválasztásához:
- Jelentkezzen be a fogyasztói fiókba.
- Az Athena lekérdezésszerkesztőben futtassa a következő SELECT lekérdezést a megosztott táblán:
A szűrők alapján a fogyasztó láthatja az oszlopok és sorok egy részét, ahol az ország Franciaország.
Frissítés/törlés műveletek
Most frissítsük az egyik sort, és töröljünk egyet a fogyasztóval megosztott adatkészletből.
- Jelentkezzen be a termelői fiókba.
- Frissítések
city='Paris' WHERE city='Reims'
és törölje a sortcustomerid = 3;
- Ellenőrizze a frissített és törölt adatkészletet:
- Jelentkezzen be a fogyasztói fiókba.
- Az Athena lekérdezésszerkesztőben futtassa a következő SELECT lekérdezést a megosztott táblán:
Megfigyelhetjük, hogy csak egy sor áll rendelkezésre, és a város Párizsra frissül.
Sémafejlődés: Új oszlop hozzáadása
Frissítsünk egy sort, és töröljünk egyet a fogyasztóval megosztott adatkészletből.
- Jelentkezzen be a termelői fiókba.
- Adjon hozzá egy új oszlopot
geo_loc
a Jéghegy táblázatban. Használja a Lekérdezésszerkesztőt egy-egy lekérdezés futtatásához. Egyszerre egy lekérdezést jelölhet ki/jelölhet ki, majd kattintson a „Futtatás”/„Futtatás újra” gombra:
Láthatóság biztosítása az újonnan hozzáadott számára geo_loc
oszlopban frissítenünk kell a Lake Formation adatszűrőt.
- A Lake Formation konzolon válassza a lehetőséget Adatszűrők a navigációs ablaktáblában.
- Válassza ki az adatszűrőt, és válassza ki szerkesztése.
- Alatt Oszlopszintű hozzáférés, adja hozzá az új oszlopot (
geo_loc
). - 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 Megtakarítás.
- Jelentkezzen be a fogyasztói fiókba.
- Az Athena lekérdezésszerkesztőben futtassa a következőt
SELECT
lekérdezés a megosztott táblán:
Az új oszlop geo_loc
látható és egy további sor.
A séma alakulása: Oszlop törlése
Frissítsünk egy sort, és töröljünk egyet a fogyasztóval megosztott adatkészletből.
- Jelentkezzen be a termelői fiókba.
- Módosítsa a táblát, hogy a címoszlop kikerüljön az Iceberg táblából. Használja a Lekérdezésszerkesztőt egy-egy lekérdezés futtatásához. Egyszerre egy lekérdezést jelölhet ki/jelölhet ki, majd kattintson a „Futtatás”/„Futtatás újra” gombra:
Megfigyelhetjük, hogy az oszlopcím nem szerepel a táblázatban.
- Jelentkezzen be a fogyasztói fiókba.
- Az Athena lekérdezésszerkesztőben futtassa a következő SELECT lekérdezést a megosztott táblán:
Az oszlop címe nem szerepel a táblázatban.
Időutazás
Mostanra többször cseréltük az Iceberg asztalt. Az Iceberg asztal nyomon követi a pillanatképeket. Hajtsa végre a következő lépéseket az időutazási funkciók felfedezéséhez:
- Jelentkezzen be a termelői fiókba.
- A rendszertábla lekérdezése:
Megfigyelhetjük, hogy több pillanatképet is generáltunk.
- Jegyezze fel az egyiket
committed_at
a következő lépésekben használandó értékek (ebben a példában,2023-01-29 21:35:02.176 UTC
). - Használja az időutazást a táblázat pillanatképének megkereséséhez. Használja a Lekérdezésszerkesztőt egy-egy lekérdezés futtatásához. Egyszerre egy lekérdezést jelölhet ki/jelölhet ki, majd kattintson a „Futtatás”/„Futtatás újra” gombra:
Tisztítsuk meg
Hajtsa végre az alábbi lépéseket, hogy elkerülje a jövőbeni költségeket:
- Az Amazon S3 konzolon törölje az asztali tárolót (ennél a bejegyzésnél: iceberg-athena-lakeformation-blog).
- Az Athena konzol termelői fiókjában futtassa a következő parancsokat a létrehozott táblák törléséhez:
- A Lake Formation konzol termelői fiókjában vonja vissza a fogyasztói fiók engedélyeit.
- Törölje a fogyasztói fiókból az Athena lekérdezési eredmény helyéhez használt S3 gyűjtőt.
Következtetés
Az olyan formátumokhoz, mint az Iceberg, a fiókközi, finomszemcsés hozzáférés-vezérlési házirendek támogatásával rugalmasan dolgozhat az Athena által támogatott bármely formátummal. Az a képesség, hogy CRUD-műveleteket hajtsanak végre az S3 Data Lake-ben lévő adatokkal, kombinálva a Lake Formation finomszemcsés hozzáférés-vezérlésével az Athena által támogatott összes táblázathoz és formátumhoz, lehetőséget ad az adatstratégia megújítására és egyszerűsítésére. Szeretnénk hallani visszajelzését!
A szerzőkről
Kishore Dhamodaran az AWS vezető megoldási építésze. Kishore segíti a stratégiai ügyfeleket felhőalapú vállalati stratégiájukban és migrációs útjukban, kihasználva több éves iparági és felhőbeli tapasztalatát.
Jack Ye az AWS Athena Data Lake and Storage csapatának szoftvermérnöke. Az Apache Iceberg Committer és a PMC tagja.
Chris Olson az AWS szoftverfejlesztő mérnöke.
Xiaoxuan Li az AWS szoftverfejlesztő mérnöke.
Rahul Sonawane az AWS vezető elemzési megoldások építésze, szakterülete az AI/ML és az Analytics.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. Hozzáférés itt.
- Forrás: 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/
- :is
- $ UP
- 1
- 10
- 100
- 7
- a
- képesség
- Rólunk
- Elfogad!
- hozzáférés
- Fiók
- át
- hozzáadott
- További
- további információ
- cím
- admin
- fogadott
- ellen
- AI / ML
- Minden termék
- lehetővé teszi, hogy
- amazon
- Amazon Athéné
- analitika
- és a
- Apache
- építészet
- VANNAK
- TERÜLET
- Művészet
- AS
- At
- meghatalmazás
- elérhető
- elkerülése érdekében
- AWS
- AWS-tó formáció
- háttal ellátott
- alapján
- között
- üzleti
- vállalkozások
- by
- hívott
- TUD
- katalógus
- központosított
- bizonyos
- változik
- díjak
- 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áros
- kettyenés
- felhő
- Oszlop
- Oszlopok
- COM
- kombinált
- teljes
- alkatrészek
- Konzol
- fogyasztó
- ellenőrzés
- ellenőrzések
- ország
- teremt
- készítette
- létrehozása
- teremtés
- Kereszt
- Ügyfelek
- dátum
- adattó
- adatmegosztás
- adatstratégia
- adatbázis
- határozatok
- mély
- mély merülést
- alapértelmezett
- Fejlesztés
- különböző
- megvitatni
- le-
- Csepp
- minden
- Korábban
- szerkesztő
- EMEA
- engedélyezve
- titkosított
- titkosítás
- Motor
- mérnök
- belép
- Vállalkozás
- Eter (ETH)
- evolúció
- példa
- várható
- tapasztalat
- feltárása
- külső
- filé
- szűrő
- szűrő
- Szűrők
- Találjon
- vezetéknév
- első
- Rugalmasság
- következő
- A
- formátum
- képződés
- keretek
- Franciaország
- ból ből
- Tele
- funkcionalitás
- jövő
- generált
- kap
- Ad
- kormányzás
- biztosít
- útmutatást
- Legyen
- tekintettel
- hall
- segít
- Kaptár
- HTML
- http
- HTTPS
- ID
- végre
- in
- Inc.
- ipar
- információ
- újít
- kölcsönhatásba
- érdekelt
- IT
- utazás
- jpg
- tó
- Telek
- réteg
- tanulás
- szint
- erőfölény
- LIMIT
- vonalak
- LINK
- elhelyezkedés
- szerelem
- Lyon
- csinál
- KÉSZÍT
- kezelése
- tag
- Menü
- elvándorlás
- modell
- több
- többszörös
- név
- Keresse
- Navigáció
- Szükség
- Új
- következő
- NYC
- megfigyelni
- of
- on
- ONE
- nyitva
- nyílt adatok
- működik
- Művelet
- Lehetőségek
- szervezetek
- Más
- üvegtábla
- Párizs
- ösvény
- teljesít
- engedélyek
- Plató
- Platón adatintelligencia
- PlatoData
- Politikák
- állás
- be
- Fő
- termelő
- ad
- biztosít
- RAM
- Olvass
- nemrég
- tükrözi
- Regisztráció
- nyilvántartott
- cserélni
- megköveteli,
- forrás
- korlátoz
- korlátozott
- eredményez
- Szerep
- szerepek
- SOR
- futás
- azonos
- Megtakarítás
- forgatókönyvek
- Rész
- kiválasztott
- idősebb
- készlet
- Megosztás
- megosztott
- megosztás
- egyszerűsítése
- Pillanatkép
- szoftver
- szoftverfejlesztés
- Software Engineer
- Megoldások
- Különlegesség
- SQL
- kezdődött
- Lépései
- tárolás
- tárolni
- memorizált
- Stratégiai
- Stratégia
- Húr
- ilyen
- támogatás
- Támogatott
- rendszer
- táblázat
- csapat
- hogy
- A
- azok
- Ezek
- idő
- időutazás
- alkalommal
- időbélyeg
- nak nek
- vágány
- utazás
- alatt
- egyedi
- Frissítések
- frissítve
- frissítés
- USA
- használ
- használó
- UTC
- ÉRVÉNYESÍT
- Értékek
- ellenőrzése
- változat
- láthatóság
- látható
- Látogat
- val vel
- Munka
- művek
- ír
- év
- A te
- zephyrnet