Biz son zamanlarda açıkladı destek AWS Göl Oluşumu ayrıntılı erişim kontrol politikaları Amazon Atina Apache Iceberg, Apache Hudi ve Apache Hive gibi tablo formatlarını kullanarak desteklenen herhangi bir dosya formatında saklanan veriler için sorgular. AWS Lake Formation, Amazon S3'te depolanan Iceberg tablolarını sorgulamak için veritabanı, tablo ve sütun düzeyinde erişim ilkeleri tanımlamanıza ve uygulamanıza olanak tanır. Lake Formation, Amazon S3'te depolanan veriler üzerinde bir yetkilendirme ve yönetişim katmanı sağlar. Bu yetenek, yükseltme yapmanızı gerektirir Athena motor versiyonu 3.
Büyük kuruluşların genellikle iş verilerini yönetmede özerklikle çalışan iş kolları (LoB'ler) vardır. LoB'ler arasında veri paylaşımını önemsiz hale getirir. Bu kuruluşlar, her LoB'nin kendi verileri üzerinde karar verme özerkliğine sahip olduğu birleşik bir modeli benimsemiştir. Yayıncı/tüketici modelini, erişim kontrollerini zorlamak için kullanılan merkezi bir yönetişim katmanıyla kullanırlar. Veri ağı mimarisi hakkında daha fazla bilgi edinmekle ilgileniyorsanız, şu adresi ziyaret edin: AWS Lake Formation ve AWS Glue kullanarak bir veri ağı mimarisi tasarlayın. Athena motor sürüm 3 ile müşteriler, Apache Iceberg, Apache Hudi ve Apache Hive gibi açık veri çerçeveleri için aynı ayrıntılı kontrolleri kullanabilir.
Bu gönderide, tüketicinin sorgulayabileceği bir Apache Iceberg tablosuna kısıtlı erişim sağlamak için veri paylaşımının etkinleştirildiği bir üretici/tüketici modelinizin olduğu bir kullanım durumunu derinlemesine inceleyeceğiz. Belirli satırları kısıtlamak için sütun filtrelemeyi, sütun düzeyinde erişimi kısıtlamak için filtrelemeyi, şema gelişimini ve zaman yolculuğunu tartışacağız.
Çözüme genel bakış
Athena ve Lake Formation ile Apache Iceberg tabloları için ayrıntılı izinlerin işlevselliğini göstermek için aşağıdaki bileşenleri kurduk:
- Üretici hesabında:
- An AWS Tutkal Bir tablonun şemasını Apache Iceberg biçiminde kaydetmek için Veri Kataloğu
- Tüketici hesabına ayrıntılı erişim sağlamak için Lake Formasyonu
- Athena, üretici hesabındaki verileri doğrulayacak
- Tüketici hesabında:
- AWS Kaynak Erişim Yöneticisi (AWS RAM) üretici Veri Kataloğu ile tüketici arasında bir el sıkışma oluşturmak için
- Tüketici hesabına ayrıntılı erişim sağlamak için Lake Formasyonu
- Athena, üretici hesabındaki verileri doğrulayacak
Aşağıdaki şema mimariyi göstermektedir.
Önkoşullar
Başlamadan önce, aşağıdakilere sahip olduğunuzdan emin olun:
Veri üreticisi kurulumu
Bu bölümde, veri üreticisini kurma adımlarını sunuyoruz.
Tablo verilerini depolamak için bir S3 grubu oluşturun
Verileri tabloya kaydetmek için yeni bir S3 grubu oluşturuyoruz:
- Amazon S3 konsolunda, S3 paketi oluştur benzersiz adla (bu gönderi için kullanıyoruz
iceberg-athena-lakeformation-blog
). - Tablo için kullanılacak üretici klasörünü kova içinde oluşturun.
Lake Formation'ı kullanarak tabloyu depolayan S3 yolunu kaydedin
S3 tam yolunu Lake Formasyonu'na kaydediyoruz:
- Göl Oluşumu konsoluna gidin.
- İlk kez oturum açıyorsanız, bir yönetici kullanıcı oluşturmanız istenir.
- Gezinti bölmesinde, altında Kaydolun ve besleyin, seçmek Veri gölü konumları.
- Klinik Konumu kaydetve daha önce oluşturduğunuz S3 grup yolunu sağlayın.
- Klinik
AWSServiceRoleForLakeFormationDataAccess
için IAM rolü.
Roller hakkında ek bilgi için bkz. Konumları kaydetmek için kullanılan roller için gereksinimler.
S3 klasörünüzün şifrelenmesini etkinleştirdiyseniz, Lake Formation'ın şifreleme ve şifre çözme işlemlerini gerçekleştirmesi için izinler sağlamanız gerekir. bakın Şifrelenmiş bir Amazon S3 konumunu kaydetme rehberlik için.
- Klinik Konumu kaydet.
Athena kullanarak bir Buzdağı tablosu oluşturun
Şimdi Apache Iceberg formatıyla desteklenen Athena'yı kullanarak tabloyu oluşturalım:
- Athena konsolunda, seçin sorgu düzenleyici Gezinti bölmesinde.
- Athena'yı ilk kez kullanıyorsanız, Ayarlar, seçmek Yönet ve daha önce oluşturduğunuz S3 grup konumunu girin (
iceberg-athena-lakeformation-blog/producer
). - Klinik İndirim.
- Sorgu düzenleyicide aşağıdaki sorguyu girin (konumu Lake Formation'a kaydettiğiniz S3 grubuyla değiştirin). Varsayılan veritabanını kullandığımızı unutmayın, ancak başka herhangi bir veritabanını da kullanabilirsiniz.
- Klinik koşmak.
Tabloyu tüketici hesabıyla paylaşın
İşlevselliği göstermek için aşağıdaki senaryoları uyguluyoruz:
- Seçilen sütunlara erişim sağlayın
- Bir filtreye dayalı olarak seçilen satırlara erişim sağlayın
Aşağıdaki adımları tamamlayın:
- Lake Formation konsolunda, altındaki gezinti bölmesinde Veri kataloğu, seçmek Veri filtreleri.
- Klinik Yeni filtre oluştur.
- İçin Veri filtresi adı, girmek
blog_data_filter
. - İçin Hedef veritabanı, girmek
lf-demo-db
. - İçin Hedef tablo, girmek
consumer_iceberg
. - İçin Sütun düzeyinde erişimseçin Sütunları dahil et.
- Tüketici ile paylaşılacak sütunları seçin:
country, address, contactfirstname, city, customerid,
vecustomername
. - İçin Satır filtresi ifadesi, filtreyi girin
country='France'
. - Klinik Filtre oluştur.
Şimdi tüketici hesabına erişim izni verelim. consumer_iceberg
tablo.
- Gezinti bölmesinde şunu seçin: tablolar.
- tüketici_iceberg tablosunu seçin ve seçin Hibe üzerinde İşlemler menüsü.
- seç Harici hesaplar.
- Harici hesap kimliğini girin.
- seç Adlandırılmış veri kataloğu kaynakları.
- Veritabanınızı ve tablonuzu seçin.
- İçin Veri filtreleri, oluşturduğunuz veri filtresini seçin.
- İçin Veri filtresi izinleri ve Verilebilir izinlerseçin seç.
- Klinik Hibe.
Veri tüketici kurulumu
Veri tüketicisini ayarlamak için kaynak paylaşımını kabul ediyoruz ve AWS RAM ve Lake Formation kullanarak bir tablo oluşturuyoruz. Aşağıdaki adımları tamamlayın:
- Tüketici hesabında oturum açın ve AWS RAM konsoluna gidin.
- Altında Benimle paylaştı gezinme bölmesinde öğesini seçin. Kaynak paylaşımları.
- Kaynak paylaşımınızı seçin.
- Klinik Kaynak paylaşımını kabul edin.
- Sonraki adımlarda kullanılacak kaynak paylaşımının adını not edin.
- Göl Oluşumu konsoluna gidin.
- İlk kez oturum açıyorsanız, bir yönetici kullanıcı oluşturmanız istenir.
- Klinik veritabanları gezinti bölmesinde, ardından veritabanınızı seçin.
- Üzerinde İşlemler menü seç Kaynak bağlantısı oluştur.
- İçin Kaynak bağlantı adı, kaynak bağlantınızın adını girin (örneğin,
consumer_iceberg
). - Veritabanınızı ve paylaşılan tablonuzu seçin.
- Klinik oluşturmak.
Çözümü doğrula
Artık ayrıntılı erişim denetimlerini doğrulamak için tablolarda farklı işlemler çalıştırabiliriz.
Ekleme işlemi
içine veri ekleyelim consumer_iceberg
üretici hesabındaki tabloya bakın ve veri filtrelemenin tüketici hesabında beklendiği gibi çalıştığını doğrulayın.
- Üretici hesabına giriş yapın.
- Athena konsolunda, seçin sorgu düzenleyici Gezinti bölmesinde.
- Iceberg tablosuna veri yazmak ve eklemek için aşağıdaki SQL'i kullanın. Her seferinde bir sorgu çalıştırmak için Sorgu düzenleyicisini kullanın. Her seferinde bir sorguyu vurgulayabilir/seçebilir ve "Çalıştır"/"Tekrar çalıştır"a tıklayabilirsiniz:
- Iceberg tablosundaki verileri okumak ve seçmek için aşağıdaki SQL'i kullanın:
- Tüketici hesabında oturum açın.
- Athena sorgu düzenleyicisinde, paylaşılan tabloda aşağıdaki SELECT sorgusunu çalıştırın:
Filtrelere bağlı olarak, tüketici, ülkenin Fransa olduğu bir sütun ve satır alt kümesini görebilir.
Güncelleme/Silme işlemleri
Şimdi satırlardan birini güncelleyelim ve tüketici ile paylaşılan veri setinden birini silelim.
- Üretici hesabına giriş yapın.
- Güncelleme
city='Paris' WHERE city='Reims'
ve satırı silcustomerid = 3;
- Güncellenen ve silinen veri kümesini doğrulayın:
- Tüketici hesabında oturum açın.
- Athena sorgu düzenleyicisinde, paylaşılan tabloda aşağıdaki SELECT sorgusunu çalıştırın:
Sadece bir satırın mevcut olduğunu ve şehrin Paris'e güncellendiğini gözlemleyebiliriz.
Şema evrimi: Yeni bir sütun ekleyin
Satırlardan birini güncelleyelim ve tüketici ile paylaşılan veri setinden birini silelim.
- Üretici hesabına giriş yapın.
- adlı yeni bir sütun ekleyin.
geo_loc
Buzdağı tablosunda. Her seferinde bir sorgu çalıştırmak için Sorgu düzenleyicisini kullanın. Her seferinde bir sorguyu vurgulayabilir/seçebilir ve "Çalıştır"/"Tekrar çalıştır"a tıklayabilirsiniz:
Yeni eklenenlere görünürlük sağlamak için geo_loc
sütununda, Göl Oluşumu veri filtresini güncellememiz gerekiyor.
- Göl Oluşumu konsolunda seçin Veri filtreleri Gezinti bölmesinde.
- Veri filtrenizi seçin ve seçin Düzenle.
- Altında Sütun düzeyinde erişim, yeni sütunu ekleyin (
geo_loc
). - Klinik İndirim.
- Tüketici hesabında oturum açın.
- Athena sorgu düzenleyicisinde aşağıdakini çalıştırın
SELECT
paylaşılan tablodaki sorgu:
yeni sütun geo_loc
görünür ve ek bir satırdır.
Şema gelişimi: Sütunu sil
Satırlardan birini güncelleyelim ve tüketici ile paylaşılan veri setinden birini silelim.
- Üretici hesabına giriş yapın.
- Adres sütununu Buzdağı tablosundan çıkarmak için tabloyu değiştirin. Her seferinde bir sorgu çalıştırmak için Sorgu düzenleyicisini kullanın. Her seferinde bir sorguyu vurgulayabilir/seçebilir ve "Çalıştır"/"Tekrar çalıştır"a tıklayabilirsiniz:
Sütun adresinin tabloda bulunmadığını gözlemleyebiliriz.
- Tüketici hesabında oturum açın.
- Athena sorgu düzenleyicisinde, paylaşılan tabloda aşağıdaki SELECT sorgusunu çalıştırın:
Sütun adresi tabloda mevcut değil.
Zaman yolculuğu
Şimdi Buzdağı tablosunu birçok kez değiştirdik. Iceberg tablosu anlık görüntüleri takip eder. Zaman yolculuğu işlevini keşfetmek için aşağıdaki adımları tamamlayın:
- Üretici hesabına giriş yapın.
- Sistem tablosunu sorgula:
Birden çok anlık görüntü oluşturduğumuzu gözlemleyebiliriz.
- birini not edin
committed_at
sonraki adımlarda kullanılacak değerler (bu örnek için,2023-01-29 21:35:02.176 UTC
). - Tablo anlık görüntüsünü bulmak için zaman yolculuğunu kullanın. Her seferinde bir sorgu çalıştırmak için Sorgu düzenleyicisini kullanın. Her seferinde bir sorguyu vurgulayabilir/seçebilir ve "Çalıştır"/"Tekrar çalıştır"a tıklayabilirsiniz:
Temizlemek
İleride ücret ödememek için aşağıdaki adımları tamamlayın:
- Amazon S3 konsolunda, tablo depolama klasörünü silin (bu gönderi için, iceberg-athena-lakeformation-blog).
- Athena konsolundaki üretici hesabında, oluşturduğunuz tabloları silmek için aşağıdaki komutları çalıştırın:
- Lake Formation konsolundaki üretici hesabında, tüketici hesabına verilen izinleri iptal edin.
- Athena sorgu sonucu konumu için kullanılan S3 klasörünü tüketici hesabından silin.
Sonuç
Hesaplar arası destek, Iceberg gibi biçimler için ayrıntılı erişim denetimi ilkeleri sayesinde, Athena tarafından desteklenen herhangi bir biçimle çalışma esnekliğine sahipsiniz. Athena tarafından desteklenen tüm tablolar ve biçimler için Lake Formation ince ayarlı erişim kontrolleri ile birlikte S3 veri gölünüzdeki verilere karşı CRUD işlemleri gerçekleştirme yeteneği, veri stratejinizi yenilemek ve basitleştirmek için fırsatlar sunar. Geri bildiriminizi duymak isteriz!
yazarlar hakkında
Kishore Dhamodaran AWS'de Kıdemli Çözüm Mimarıdır. Kishore, yılların endüstri ve bulut deneyiminden yararlanarak stratejik müşterilere bulut kurumsal stratejileri ve geçiş yolculuklarında yardımcı olur.
Jack Ye AWS'deki Athena Data Lake and Storage ekibinin yazılım mühendisidir. O bir Apache Iceberg Komiseri ve PMC üyesidir.
Chris Olson AWS'de Yazılım Geliştirme Mühendisi.
Xiao Xuan Li AWS'de Yazılım Geliştirme Mühendisi.
Rahul Sonawane uzmanlık alanı AI/ML ve Analytics olan AWS'de Ana Analitik Çözümleri Mimarıdır.
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- Plato blok zinciri. Web3 Metaverse Zekası. Bilgi Güçlendirildi. Buradan Erişin.
- Kaynak: 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/
- :dır-dir
- $UP
- 1
- 10
- 100
- 7
- a
- kabiliyet
- Hakkımızda
- Kabul et
- erişim
- Hesap
- karşısında
- katma
- Ek
- Ek Bilgi
- adres
- Gizem
- benimsenen
- karşı
- AI / ML
- Türkiye
- veriyor
- Amazon
- Amazon Atina
- analytics
- ve
- Apache
- mimari
- ARE
- ALAN
- Sanat
- AS
- At
- yetki
- mevcut
- önlemek
- AWS
- AWS Göl Oluşumu
- arka çıkılmış
- merkezli
- arasında
- iş
- işletmeler
- by
- denilen
- CAN
- katalog
- merkezi
- belli
- değişiklik
- yükler
- Klinik
- Şehir
- tıklayın
- bulut
- Sütun
- Sütunlar
- COM
- kombine
- tamamlamak
- bileşenler
- konsolos
- tüketici
- kontrol
- kontroller
- ülke
- yaratmak
- çevrimiçi kurslar düzenliyorlar.
- Oluşturma
- oluşturma
- Çapraz
- Müşteriler
- veri
- Veri Gölü
- bilgi paylaşımı
- veri stratejisi
- veritabanı
- kararlar
- derin
- derin dalış
- Varsayılan
- gelişme
- farklı
- tartışmak
- aşağı
- Damla
- her
- Daha erken
- editör
- E-posta
- EMEA
- etkin
- şifreli
- şifreleme
- Motor
- mühendis
- Keşfet
- kuruluş
- Eter (ETH)
- evrim
- örnek
- beklenen
- deneyim
- keşfetmek
- dış
- fileto
- filtre
- süzme
- filtreler
- bulmak
- Ad
- ilk kez
- Esneklik
- takip etme
- İçin
- biçim
- oluşum
- çerçeveler
- Fransa
- itibaren
- tam
- işlevsellik
- gelecek
- oluşturulan
- almak
- Vermek
- yönetim
- vermek
- rehberlik
- Var
- sahip olan
- duymak
- yardımcı olur
- kovan
- HTML
- http
- HTTPS
- ID
- uygulamak
- in
- A.Ş.
- sanayi
- bilgi
- yenilik yapmak
- etkileşim
- ilgili
- IT
- seyahat
- jpg
- göl
- arazi
- tabaka
- öğrenme
- seviye
- kaldıraç
- LİMİT
- hatları
- LINK
- yer
- Aşk
- Lyon
- yapmak
- YAPAR
- yönetme
- üye
- Menü
- göç
- model
- Daha
- çoklu
- isim
- Gezin
- Navigasyon
- gerek
- yeni
- sonraki
- NYC
- gözlemek
- of
- on
- ONE
- açık
- açık veri
- işletmek
- Operasyon
- Fırsatlar
- organizasyonlar
- Diğer
- bölmesi
- Paris
- yol
- yapmak
- izinleri
- Platon
- Plato Veri Zekası
- PlatoVeri
- politikaları
- Çivi
- mevcut
- Anapara
- üretici
- sağlamak
- sağlar
- RAM
- Okumak
- geçenlerde
- yansıtılan
- kayıt olmak
- kayıtlı
- değiştirmek
- gerektirir
- kaynak
- kısıtlamak
- kısıtlı
- sonuç
- Rol
- rolleri
- SIRA
- koşmak
- aynı
- İndirim
- senaryolar
- Bölüm
- seçilmiş
- kıdemli
- set
- paylaş
- Paylaşılan
- paylaşımı
- basitleştirmek
- Enstantane fotoğraf
- Software
- yazılım geliştirme
- Yazılım Mühendisi
- Çözümler
- Uzmanlık
- SQL
- başladı
- Basamaklar
- hafızası
- mağaza
- saklı
- Stratejik
- Stratejileri
- dizi
- böyle
- destek
- destekli
- sistem
- tablo
- takım
- o
- The
- ve bazı Asya
- Bunlar
- zaman
- zaman yolculuğu
- zamanlar
- zaman damgası
- için
- iz
- seyahat
- altında
- benzersiz
- Güncelleme
- güncellenmiş
- yükseltmek
- Amerika Birleşik Devletleri
- kullanım
- kullanıcı
- UTC
- DOĞRULA
- Değerler
- doğrulamak
- versiyon
- görünürlük
- gözle görülür
- Türkiye Dental Sosyal Medya Hesaplarından bizi takip edebilirsiniz.
- ile
- İş
- çalışır
- yazmak
- yıl
- zefirnet