Ana içeriğe geç

AWS Lake Formation ve Glue Entegrasyonu: Adım Adım Kılavuz

AWS Lake Formation ve AWS Glue'u entegre ederek güvenli veri hatları oluşturmayı, erişim kontrollerini yapılandırmayı ve ETL iş akışlarını otomatikleştirmeyi öğrenin.
· 15 dk. oku

Yapay Zeka ile Keşfedin

Günümüzün veri ortamında kuruluşlar büyük veri kümelerini güvence altına almak, yönetmek ve taşımak konusunda zorlanıyor. AWS Lake Formation ve AWS Glue, bu zorlukların üstesinden gelmenize yardımcı olabilecek iki hizmettir. AWS Glue; veri temizleme, yeniden yapılandırma ve veri türü dönüştürme işlemlerini gerçekleştirirken, AWS Lake Formation veri gölleri oluşturur ve veri güvenliği ile yönetimini sağlar. 

Bu blogda, AWS Lake Formation ve AWS Glue kullanarak güvenli ve otomatik bir veri hattının nasıl geliştirileceğini göstereceğiz. S3 kovasında saklanan örnek verileri taşımak ve işlemek için AWS Glue ile bir ETL işi geliştirecek, ayrıntılı erişim kontrolünü ise AWS Lake Formation üzerinden yapacağız.

AWS Lake Formation nedir?

AWS Lake Formation, AWS üzerinde veri gölleri oluşturmak, yönetmek ve güvence altına almak için gerekli araçları sağlar. Lake Formation ile Amazon S3 üzerinde veri gölleri oluşturmak ve güvenlik ile izinleri yönetmek daha kolaydır.

AWS Lake Formation kullanarak şunları yapabilirsiniz:

  • Hızla güvenli bir veri gölü oluşturun.
  • Veri depolamayı S3 üzerinde merkezileştirin.
  • Ayrıntılı erişim denetim ilkeleri tanımlayın.
  • Uyumluluk için veri şifreleme ve denetim günlükleri uygulayın.

AWS Glue nedir?

AWS Glue, veri hazırlığı için Çıkarma, Dönüştürme ve Yükleme (ETL) işlevselliği sağlayan sunucusuz bir veri entegrasyon hizmetidir. Veri kataloglama, dönüştürme ve yükleme işlemlerini kolaylaştıran otomatik bir veri hazırlama hizmetidir. Bu, S3 gibi farklı kaynaklardan verileri veri ambarlarına veya veritabanlarına konsolide etmek için kullanışlıdır.

AWS Glue ile şu özelliklere sahip olursunuz:

  • Glue Data Catalog: Meta verileri yönetmek için merkezi bir havuz.
  • ETL işleri: Verileri dönüştürmek ve taşımak için sunucusuz işler.
  • Glue Studio: ETL iş akışları tasarlamak için görsel bir arayüz.

Glue'a yeniyseniz, AWS Glue ile İlk Adımlar eğitimize göz atın. 

Neden AWS Lake Formation ve AWS Glue entegre edilmeli?

AWS Lake Formation ve AWS Glue entegrasyonu, güvenli veri gölleri ile otomatik ETL hatlarının en iyi yönlerini bir araya getirir. Bu entegrasyonun bazı faydaları şunlardır:

  • Otomatik veri hatları: Güvenliği korurken veri dönüştürmeyi ve taşımayı kolayca otomatikleştirin.
  • Merkezi veri yönetimi: Lake Formation'ın erişim kontrolünü Glue'un veri dönüştürme ve kataloglama yetenekleriyle birleştirin.
  • Gelişmiş güvenlik: Hassas verilere erişimi kontrol etmek için Lake Formation'ın ayrıntılı izinlerinden yararlanın.

Entegrasyon için Önkoşullar

AWS Lake Formation ve AWS Glue'u entegre etmeden önce aşağıdakilere sahip olduğunuzdan emin olun:

  • AWS hesabı: AWS Lake Formation ve AWS Glue'a erişim.
  • Temel bilgi: Veri gölleri, ETL ve AWS hizmetlerine aşinalık.
  • S3 kovası: Verilerinizi depolamak için önceden yapılandırılmış bir S3 kovası.
  • IAM roller: Her iki hizmete erişim için gerekli IAM roller ve izinler.
  • CloudFormation: Temel kurulumu dağıtmak için bir şablon sağlanmıştır. Yukarıdaki şablonu burada bulabilirsiniz.

Adım Adım Entegrasyon Kılavuzu

Önkoşulları tamamladıktan sonra şu adımları izleyin:

Adım 1: AWS Lake Formation'ı kurma

Entegrasyon sürecine başlamadan önce güvenli bir veri gölü oluşturmak için gereken temel AWS kaynaklarını dağıtmak ilk adımdır. AWS CloudFormation şablonu, gerekli tüm kaynakları düzenlemenize ve dağıtmanıza yardımcı olur. 

Sağlanan CloudFormation şablonunu kullanarak AWS hesabınızda bir yığın (stack) oluşturun. Bu yığın, bu eğitimde açıklanan kullanım senaryoları için gerekli temel kaynakları sağlar.

AWS CloudFormation 'Yığın Oluştur' sayfasının, şablon yükleme veya diğer kaynaklardan belirtme seçeneklerini gösteren ekran görüntüsü.

AWS CloudFormation'da bir yığın oluşturma

Yığın dağıtıldığında, AWS hesabınızda aşağıdaki temel kaynaklar oluşturulacaktır:

  • Amazon VPC ve alt ağ: Uygun ağ yapılandırmalarıyla kaynakları barındırmak için bir VPC ve genel bir alt ağ.
  • Amazon S3 kovaları:
    • Blogla ilgili verileri, betikleri ve sonuçları depolar.
    • TPC verilerini barındırır ve veri gölünün oluşturulmasında kullanılır.
  • IAM roller ve ilkeler:
    • GlueServiceRole: AWS Glue'a S3 ve Lake Formation hizmetlerine erişim verir.
    • DataEngineerGlueServiceRole: Mühendislere veri erişimi ve işleme izinleri sağlar.
    • DataAdminUser ve DataEngineerUser: Lake Formation güvenliğini keşfetmek ve yönetmek için önceden yapılandırılmış IAM kullanıcıları.
  • AWS Glue Crawler: S3 kovasında saklanan parquet verilerini taramak ve kataloglamak için bir TPC Crawler.
  • Amazon EC2 örneği: Örnek verileri önceden yüklemek ve S3'e aktarmak için yardımcı bir örnek (EC2-DB-Loader).
  • AWS Secrets Manager: Önceden oluşturulmuş IAM kullanıcıları için kullanıcı kimlik bilgilerini güvenli şekilde saklamak üzere bir gizli anahtar (lf-users-credentials).

Yığın oluşturulduktan sonra şunlara sahip olacaksınız:

  • Amazon S3'te depolanan bir örnek TPC veritabanı.
  • Güvenlik desenlerini ve erişim kontrollerini keşfetmek için önceden oluşturulmuş kullanıcılar ve roller.
  • Verilerinizi kataloglamak ve işlemek için Glue yapılandırmaları ve tarayıcılar.
  • Bu blogdaki adımları takip etmek için gereken tüm temel bileşenler.

Adım 2: Veri izinlerini yapılandırma

Bu bölümde, Veri Gölü Yöneticisi AWS Lake Formation'ı veri mühendisi dahil olmak üzere veri tüketicisi rolleri için kullanılabilir hale getirecek şekilde yapılandıracaktır. Yönetici şunları yapacaktır:

  • TPC verilerini depolamak için AWS Lake Formation'da yeni bir veritabanı oluşturun.
  • TPC veri kümesi için meta veri tablolarını AWS Glue Data Catalog'a kaydedin.
  • Farklı kullanıcılar için erişim izinleri oluşturmak üzere Lake Formation etiketlerini ve ilkelerini yapılandırın.

Bu yapılandırmalar, güvenli ve ayrıntılı erişim denetimi ile diğer AWS hizmetleriyle sorunsuz koordinasyon sağlar.

Veri Gölü Yöneticisini ayarlama

Veri Gölü Yöneticisi, herhangi bir Data Catalog varlığında herhangi bir ilkeye (kendisi dahil) izin verebilen bir Kimlik ve Erişim Yönetimi (IAM) kullanıcısı veya rolüdür. Veri Gölü Yöneticisi genellikle Data Catalog'u yönetmek için oluşturulan ilk kullanıcıdır ve genellikle Data Catalog için yönetim ayrıcalıkları verilen kullanıcıdır.

AWS Lake Formation hizmetinde, gezinme panelindeki Yönetim rolleri ve görevleri -> Yöneticiler ekleyin düğmesine tıklayarak istemi açabilir ve açılır listeden lf-data-admin IAM kullanıcısını seçebilirsiniz.

AWS Lake Formation'da veri gölü yöneticisi izinleri için erişim türü, IAM kullanıcıları ve roller atama seçeneklerini gösteren 'Yöneticiler ekleyin' sayfasının ekran görüntüsü.

AWS Lake Formation'da Veri Gölü Yöneticisi ekleme

Katalog ayarlarını değiştirme

Varsayılan olarak, Lake Formation, AWS Glue Data Catalog ile uyumlu olması için seçili "Yalnızca IAM erişim denetimini kullan" seçeneğine sahiptir. Lake Formation izinleriyle ayrıntılı erişim denetimini etkinleştirmek için bu ayarları değiştirmeniz gerekir:

  1. Gezinme bölmesinde, Yönetim altında Yönetim rolleri ve görevleri'ni seçin.
  2. Eğer IAMAllowedPrincipals grubu Veritabanı oluşturucuları altında görünüyorsa, grubu seçin ve Geri al'ı seçin.
  3. İzinleri geri al iletişim kutusunda, grubun Veritabanı oluştur iznine sahip olduğunu doğrulayın ve ardından Geri al'a tıklayın.

Bu adımlar, varsayılan IAM erişim denetimini devre dışı bırakacak ve gelişmiş güvenlik için Lake Formation izinlerini uygulamanıza olanak tanıyacaktır.

AWS Lake Formation arayüzünde, IAMAllowedPrincipals grubunun Katalog oluştur ve Veritabanı oluştur izinleriyle birlikte katalog ve veritabanı oluşturucu seçeneklerini gösteren ekran görüntüsü.

AWS Lake Formation'da katalog ve veritabanı oluşturucularını yönetme

Adım 3: AWS Glue Data Catalog'u kullanma

Şimdi Glue Data Catalog'u kullanma zamanı.

Veritabanı oluşturma

TPC verileri için bir veritabanı oluşturmak üzere mevcut AWS oturumunuzdan çıkış yapın ve lf-data-admin kullanıcısıyla tekrar oturum açın. CloudFormation çıktısında sağlanan oturum açma bağlantısını ve AWS Secrets Manager'dan alınan parolayı kullanın.

  1. AWS Lake Formation konsoluna gidin ve sol gezinme bölmesinden Veritabanları'nı seçin.
  2. Veritabanı oluştur düğmesine tıklayın.
  3. Veritabanını TPC veri gölü için kullanılacağından "tpc" olarak adlandırın.
  4. Konum alanında, CloudFormation yığını tarafından oluşturulan S3 veri gölü yolunu seçin. Bu yol CloudFormation çıktı sekmesinde bulunabilir ve lf-data-lake-account-ID olarak adlandırılacaktır; burada account-ID 12 haneli AWS hesap numaranızdır.
  5. Ayrıntılı erişim kontrolünü etkinleştirmek için Bu veritabanındaki yeni tablolar için yalnızca IAM erişim denetimini kullan seçeneğinin işaretini kaldırın.
  6. Diğer tüm seçenekleri varsayılan değerlerinde bırakın ve Veritabanı oluştur'a tıklayın.

Bu veritabanı, Lake Formation kurulumunda TPC verilerinin meta verilerini depolamak ve yönetmek için temel olacaktır.

AWS Lake Formation 'Veritabanı ayrıntıları' sayfasının, veritabanı adı, veri kataloğu, S3 konumu, açıklama ve yeni oluşturulan tablolar için varsayılan izinler alanlarını gösteren ekran görüntüsü.

AWS Lake Formation'da veritabanı oluşturma

Veri Gölünü besleme

AWS Glue Data Catalog'da tablolar oluşturmak için bir AWS Glue Crawler kullanıyoruz. Crawler'lar, birden fazla veri deposunu aynı anda tarayabildikleri ve tarama tamamlandıktan sonra Data Catalog'daki tabloların ayrıntılarını oluşturup güncelleyebildikleri için AWS Glue'da tablo oluşturmanın en yaygın yoludur.

AWS Glue Crawler'ı çalıştırmadan önce, IAM rolüne gerekli izinleri vermeniz gerekir:

  1. AWS Lake Formation konsolunda Veritabanları'na gidin ve tpc veritabanını seçin.
  2. Eylemler açılır menüsünden Yetki ver'i seçin.
  3. İzin ver iletişim kutusunda:
    • İlkeler altında, LF-GlueServiceRole IAM rolünü seçin.
    • LF-Tag'ler veya katalog kaynakları bölümünde, Adlandırılmış veri katalog kaynakları seçili olduğundan emin olun.
    • Veritabanı olarak tpc'yi seçin.
    • Veritabanı izinleri bölümünde Tablo oluştur seçeneğini işaretleyin.
    • Yetki ver'e tıklayın.

AWS Lake Formation Veritabanları sayfasının, 'sales' ve 'tpc' dahil veritabanı listesini ve İzin ver seçeneğini gösteren Eylemler menüsünü açılmış halde görüntüleyen ekran görüntüsü

AWS Lake Formation'da izin verme

AWS Glue Crawler'ı çalıştırma

İzinler verildikten sonra tarayıcıyı çalıştırmaya devam edin:

  1. AWS Lake Formation konsolunda Tarayıcılar'a gidin ve AWS Glue konsolunu açmak için tıklayın.
  2. TPC Crawler adlı tarayıcıyı seçin ve Tarayıcıyı çalıştır'a tıklayın.
  3. İlerlemeyi Yenile düğmesine tıklayarak izleyin.
  4. Tamamlandığında, TPC veritabanı tablolarla doldurulacaktır. Eklenen tablo sayısını görmek için Son çalıştırmadan gelen tablo değişiklikleri sütununu kontrol edin (ör. 8 tablo).

AWS Glue TPC Crawler özellikleri sayfasının, IAM rolü, veritabanı ve Tamamlandı olarak işaretlenmiş çalıştırmalar gibi ayrıntıları gösteren ekran görüntüsü.

AWS Glue'da TPC Crawler'ı çalıştırma

Bu tabloları AWS Lake Formation konsolunda Veri kataloğu ve Tablolar altında da doğrulayabilirsiniz.

AWS Lake Formation Tablolar sayfasının, tpc veritabanına yüklenen 8 tabloyu (dl_tpc_household_demographics, dl_tpc_customer vb.) ve tablo oluşturma ya da tarayıcı kullanma seçeneklerini gösteren ekran görüntüsü

AWS Lake Formation'da tabloları görüntüleme

Veri Gölü konumlarını kaydetme

Veri gölü depolamanız için S3 kovasını AWS Lake Formation'da kaydetmelisiniz. Bu kayıt, AWS Glue Data Catalog nesneleri ve kovada saklanan alttaki veriler üzerinde ayrıntılı erişim denetimi uygulamanıza olanak tanır.

Veri Gölü konumu kaydetme adımları:

  1. AWS Lake Formation konsolunda Veri Gölü Konumları bölümüne gidin ve Konum kaydet'e tıklayın.
  2. CloudFormation şablonu aracılığıyla oluşturulan S3 kovasının yolunu girin. Bu kova, veri hattı sürecinde alınan verileri depolayacaktır.
  3. IAM Rolü için, CloudFormation şablonu tarafından oluşturulan LF-GlueServiceRole rolünü seçin.
  4. İzin modu altında, gelişmiş erişim denetimi özelliklerini etkinleştirmek için Lake Formation'ı seçin.
  5. Yapılandırmanızı kaydetmek için Konum kaydet'e tıklayın.

Kayıt işlemi tamamlandıktan sonra, veri gölü konumunuzun doğru yapılandırıldığından emin olmak için doğrulayın. Bu adım, Lake Formation kurulumunuzda sorunsuz veri yönetimi ve güvenlik için kritik önemdedir.

AWS Lake Formation 'Konum Kaydet' sayfasının, Amazon S3 yolu, IAM rolü (LF-GlueServiceRole) seçimi ve Lake Formation ile Hibrit erişim modu seçeneklerini gösteren ekran görüntüsü

AWS Lake Formation'da bir Amazon S3 konumu kaydetme

Lake Formation etiketleri (LF-Tag'ler)

LF-Tag'ler, kaynakları düzenlemek ve birden çok kaynakta aynı anda izinler belirlemek için kullanılabilir. Verileri taksonomilerle düzenlemenizi sağlar ve böylece karmaşık ilkeleri parçalayarak izinleri etkili şekilde yönetmenize yardımcı olur. Bu, LF-Tag'ler sayesinde ilkeyi kaynaktan ayırabildiğiniz ve dolayısıyla kaynaklar oluşturulmadan önce bile erişim ilkelerini ayarlayabildiğiniz için mümkündür.

LF-Tag oluşturma ve atama adımları

  • LF-Tag oluşturun:
    • Lake Formation konsoluna şuradan gidin: AWS Lake Formation.
    • Gezinme bölmesinde LF-Tag'ler ve izinler'i seçin, ardından LF-Tag ekle'ye tıklayın.
    • Anahtar olarak "Classification" girin ve değerler olarak "Sensitive" ve "Non-Sensitive" ekleyin. LF-Tag ekle'ye tıklayın.

AWS Lake Formation 'LF-Tag ekle' sayfasının, anahtar ve değerleri tanımlama, LF-Tag izinleri verme ve Veri Kataloğu kaynaklarına LF-Tag anahtar-değer çifti izinleri atama seçeneklerini gösteren ekran görüntüsü

AWS Lake Formation'da LF-Tag'ler oluşturma

  • LF-Tag izinleri verin:
    • lf-data-admin kullanıcısının LF-Tag izinlerine sahip olduğundan emin olun. Lake Formation konsolunda Tablolar'a gidin.
    • dl_tpc_customer tablosunu seçin, eylemler menüsüne tıklayın ve Yetki ver'i seçin.
    • IAM kullanıcıları ve roller altında lf-data-admin'i seçin.
    • LF-Tag'ler veya katalog kaynakları için Adlandırılmış veri katalog kaynakları'nı seçin.
    • tpc veritabanını ve dl_tpc_customer tablosunu seçin, Alter tablo izinleri verin. Yetki ver'e tıklayın.

AWS Lake Formation 'İzin ver' sayfasının, IAM kullanıcısı lf-data-admin, Adlandırılmış Veri Kataloğu kaynakları seçimi ve tpc veritabanı ile dl_tpc_customer tablosu yapılandırmasını gösteren ekran görüntüsü

AWS Lake Formation'da izin verme

  • LF-Tag'leri Veri Kataloğu nesnelerine atayın:
    • Tablolar'a gidin ve dl_tpc_customer tablosunu seçin. Tablo ayrıntılarını açın ve eylemler menüsünden LF-Tag'leri düzenle'yi seçin.
    • Yeni LF-Tag ata'ya tıklayın, anahtar olarak "Classification" girin ve değeri "Non-Sensitive" olarak ayarlayın. Kaydet'e tıklayın.
    • Tablonun eylemler menüsünden Şemayı düzenle'yi seçin. c_first_name, c_last_name ve c_email_address gibi sütunları seçin ve LF-Tag'leri düzenle'ye tıklayın.
    • Miras alınan Classification anahtarı için değeri "Sensitive" olarak değiştirin ve Kaydet'e tıklayın. Bu yapılandırmayı yeni bir sürüm olarak kaydedin.
  • LF-Tag'leri ek tablolara uygulayın:
    • dl_tpc_household_demographics tablosu için Eylemler'a gidin ve LF-Tag'leri düzenle'yi seçin.
    • İletişim kutusunda Yeni LF-Tag ata'ya tıklayın. Anahtar olarak Group ve değer olarak Analyst ayarlayın. Sonlandırmak için Kaydet'e tıklayın.

Bu adımları izleyerek, Veri Kataloğu nesnelerinize LF-Tag'leri verimli şekilde atayabilir, veri gölünüz genelinde güvenli ve ayrıntılı erişim denetimi sağlayabilirsiniz.

Adım 4: AWS Glue'da bir ETL işi oluşturma

AWS Glue Studio, kullanıcıların AWS Glue için ETL işlerini geliştirmesine, hata ayıklamasına ve izlemesine yardımcı olan sürükle-bırak bir kullanıcı arayüzüdür. Veri mühendisleri, Amazon S3'te depolanan veri kümelerini dönüştürmek ve verileri analiz için veri göllerine ve ambarlarına yüklemek üzere Apache Spark tabanlı Glue ETL'den yararlanır. Aynı veri kümeleri üzerinde birden fazla ekip birlikte çalıştığında erişimi etkili şekilde yönetmek ve rollere göre kısıtlamak önemlidir.

AWS Lake Formation ile izin verme

Gerekli izinleri lf-data-engineer kullanıcısına ve karşılık gelen DE-GlueServiceRole rolüne vermek için bu adımları izleyin. Bu rol, veri mühendisinin Glue Studio işlerinde Glue Data Catalog tablolarına erişmesi için kullanılır.

  1. Veri Gölü Yöneticisi olarak oturum açın:
    • AWS Yönetim Konsolu'na lf-data-admin kullanıcısıyla giriş yapın. Parolayı AWS Secrets Manager'dan, oturum açma URL'sini CloudFormation çıktısından alın.
  2. Bir tablo için select izinleri verin:
    • Lake Formation konsolunda Veri gölü izinleri'ne gidin.
    • Yetki ver'e tıklayın ve iletişim kutusunda aşağıdaki bilgileri girin:
      • IAM kullanıcıları ve roller: lf-data-engineer ve DE-GlueServiceRole girin.
      • LF-Tag'ler veya katalog kaynakları: Adlandırılmış veri katalog kaynakları'nı seçin.
      • Veritabanları: tpc'yi seçin.
      • Tablolar: dl_tpc_household_demographics'i seçin.
      • Tablo izinleri: Select ve Describe seçin.
    • İzinleri kaydetmek için Yetki ver'e tıklayın.
  3. Bir veritabanı için tablo oluşturma izni verin:
    • Tekrar Veri Gölü İzinleri'ne gidin.
    • Yetki ver'e tıklayın ve iletişim kutusunda aşağıdakileri girin:
      • IAM kullanıcıları ve roller: DE-GlueServiceRole girin.
      • LF-Tag'ler veya katalog kaynakları: Adlandırılmış veri katalog kaynakları'nı seçin.
      • Veritabanları: tpc'yi seçin (tabloları seçili bırakmayın).
      • Veritabanı izinleri: Tablo oluştur seçin.
    • İzinleri sonlandırmak için Yetki ver'e tıklayın.

AWS Lake Formation 'İzin ver' sayfasının, Tablo oluştur, Değiştir, Sil ve Süper gibi veritabanı izinleri seçenekleri ile hibrit erişim modu ayarlarını ve olası erişim reddi hakkında bilgilendirici mesajı gösteren ekran görüntüsü

AWS Lake Formation'da veritabanı izinlerini yapılandırma

Bu adımları tamamlamak, lf-data-engineer kullanıcısına ve DE-GlueServiceRole rolüne Glue Data Catalog tablolarıyla çalışmak ve Glue Studio işlerinde kaynakları yönetmek için gerekli izinleri sağlayacaktır. Bu kurulum, veri gölünüze güvenli, role dayalı erişim sağlar.

Glue Studio ETL işleri oluşturma

Bu bölümde, SQL Transform kullanarak AWS Glue Studio'da bir ETL işi oluşturacağız.

  • AWS'ye lf-data-engineer olarak giriş yapın:
    • lf-data-engineer kullanıcısıyla AWS Yönetim Konsolu'na giriş yapın. Parolayı AWS Secrets Manager'dan, giriş URL'sini CloudFormation çıktısından alın.
  • Glue Studio'yu açın ve yeni bir iş başlatın:
    • Glue Studio konsoluna gidin ve Visual ETL'e tıklayın.
    • İşi kolayca tanımlamak için LF_GlueStudio olarak yeniden adlandırın.
  • İş ayrıntılarını yapılandırın:
    • İş Ayrıntıları sekmesine tıklayarak aşağıdaki yapılandırmaları ayarlayın: 
      • IAM rolü: DE-GlueServiceRole'ü seçin.
      • Glue sürümü: Glue 5.0 - Spark 3.1, Scala 2, Python 3 destekler seçin.
      • İstenen çalışan sayısı: 5 olarak ayarlayın.
      • İş yer imi: Devre dışı seçin.
      • Yeniden deneme sayısı: 0 olarak ayarlayın.

AWS Glue Studio İş Ayrıntıları sayfasının, IAM rolü (DE-GlueServiceRole), ETL iş türü (Spark), Glue sürümü (3.0), dil (Python 3), çalışan türü (G 1X) ve istenen çalışan sayısı yapılandırma alanlarını gösteren ekran görüntüsü

AWS Glue Studio'da iş ayrıntılarını yapılandırma

  • Bir veri kaynağı düğümü ekleyin:
    • Görsel sekmesinde, + düğmesine tıklayın ve veri kaynağını yapılandırmak için bir AWS Glue Data Catalog düğümü ekleyin. Bu düğümü "Amazon S3" olarak yeniden adlandırın.
    • Görsel düzenleyicide Amazon S3 düğümünü seçin ve sağ panelde özelliklerini yapılandırın:
      • Veri Kaynağı Özellikleri - Data Catalog altında şunları ayarlayın:
        • Veritabanı: tpc.
        • Tablo: dl_tpc_household_demographics. (Not: lf-data-admin kullanıcısı, lf-data-engineer'a yalnızca bu tablo üzerinde Select izni vermiştir. Diğer tablolar açılır listede görünmeyecektir.)

AWS Glue Studio Görsel sekmesinin, Veri Kataloğu'nda tpc veritabanı ve dl_tpc_household_demographics tablosu için yapılandırılmış özelliklerle Amazon S3'e bağlı bir Veri kaynağı düğümünü gösteren ekran görüntüsü

AWS Glue Studio'da bir veri kaynağı yapılandırma

  • SQL Sorgu düğümü ekleyin ve yapılandırın:
    • Amazon S3 düğümü seçiliyken, + düğmesine tıklayın ve dönüşüm olarak bir SQL Sorgu düğümü ekleyin.
    • SQL Sorgu düğümünü seçin ve yapılandırın:
      • Dönüştür altında, SQL Sorgu alanına SQL sorgunuzu girin.
      • Şu sorguyu ekleyin: 
/* Select all records where buy potential is between 0 and 500 */
SELECT * 
FROM myDataSource 
WHERE hd_buy_potential = '0-500';
      • Çıktı Şeması altında, Düzenle'ye tıklayın ve hd_dep_count ve hd_vehicle_count anahtarlarını silin. Uygula'ya tıklayın.

AWS Glue Studio Görsel sekmesinin, uygulanan SQL sorgusu (SELECT * FROM myDataSource WHERE hd_buy_potential = '0-500') ve ilgili çıktı şeması yapılandırmasıyla SQL Sorgu düğümünü gösteren ekran görüntüsü

AWS Glue Studio'da SQL Sorgu Dönüşümünü yapılandırma

  • Bir veri hedefi düğümü ekleyin:
    • SQL Sorgu düğümü seçiliyken, + düğmesine tıklayın ve bir Veri Hedefi düğümü ekleyin. Arama sonuçlarından Amazon S3 Hedefi'ni seçin.
    • Sağ panelde Veri Hedefi-S3 düğümünü yapılandırın:
      • Biçim: Parquet seçin.
      • Sıkıştırma türü: Snappy seçin.
      • S3 hedef konumu: s3://<your_LFDataLakeBucketName>/gluestudio/curated/ girin. (CloudFormation Çıktıları sekmesindeki gerçek kova adıyla <your_LFDataLakeBucketName> değerini değiştirin.)
      • Veri Kataloğu güncelleme seçenekleri: Şunu seçin Veri Kataloğu'nda bir tablo oluştur ve sonraki çalıştırmalarda şemayı güncelle ve yeni bölümler ekle.
      • Veritabanı: tpc seçin.
      • Tablo adı: Çıktı tablosu için bir ad verin. Örneğin, dl_tpc_household_demographics_below500.
  • İşi kaydedin ve gözden geçirin:
    • İşi kaydetmek için sağ üst köşedeki Kaydet'e tıklayın.
    • İsteğe bağlı olarak, otomatik oluşturulan betiği görüntülemek için Komut Dosyası sekmesine geçin. Gerekirse bu betiği indirebilir veya düzenleyebilirsiniz.

Bu adımları izleyerek, verileri dönüştüren ve sonuçları seçkin bir S3 klasörüne yazarken Glue Data Catalog'u güncelleyen, tamamen işlevsel bir Glue Studio ETL işi oluşturacaksınız.

Adım 5: Entegrasyonu test etme ve doğrulama

Lake Formation'da verilen izinleri doğrulamak için, Glue Studio İşleri Oluştur bölümünde ayrıntıları verilen şekilde lf-data-engineer kullanıcısı olarak oturum açmışken şu adımları izleyin:

  1. LF_GlueStudio işini çalıştırın:
    • LF_GlueStudio işine gidin ve işi yürütmek için sağ üst köşedeki Çalıştır düğmesine tıklayın.
    • İş yürütmesini, iş arayüzündeki Çalıştırmalar sekmesini seçerek izleyin.

AWS Glue Studio Çalıştırmalar sekmesinin, LF_GlueStudio için başarıyla tamamlanan bir iş çalıştırmasını ve çalışma zamanı ayrıntıları, yürütme süresi, çalışan türü ve Glue sürümünü gösteren ekran görüntüsü

AWS Glue Studio'da iş çalıştırmalarını izleme

  1. İş çıktısını doğrulayın:
    • İş çalıştırma durumu Başarılı olarak göründüğünde, S3 kovasınızdaki curated klasörüne giderek çıktı dosyalarını kontrol edin. Bu dosyalar, iş oluşturma sırasında yapılandırıldığı gibi Parquet formatında olmalıdır.

Bir Amazon S3 kovasında, gluestudio/curated/ klasöründeki Parquet dosyalarının dosya adları, son değiştirilme zaman damgaları, boyutları ve depolama sınıfını gösteren ekran görüntüsü

Amazon S3'te çıktı dosyalarını görüntüleme

  1. Yeni oluşturulan tabloyu doğrulayın:
    • Glue Data Catalog'u açın ve iş kurulumu sırasında belirttiğiniz veritabanına gidin.
    • Yeni tablonun veritabanı altında listelendiğini kontrol ederek çıktı verilerinin başarıyla kataloglandığını doğrulayın.

AWS Glue Veritabanları sayfasının, tpc veritabanı özelliklerini ve tabloların ilgili S3 konumları, sınıflandırmaları ve veri görüntüleme seçenekleriyle birlikte listesini gösteren ekran görüntüsü

AWS Glue'da veritabanı tablolarını görüntüleme

AWS Lake Formation ve AWS Glue Entegrasyonu için En İyi Uygulamalar

AWS Lake Formation ve AWS Glue'u entegre ederken en iyi uygulamaları takip etmek veri güvenliğini artırabilir, operasyonları düzenleyebilir ve performansı optimize edebilir. Bu hizmetlerden en iyi şekilde şöyle yararlanabilirsiniz:

Veri izinlerini optimize edin

  • En az ayrıcalık ilkesini benimseyin: Kullanıcılara ve rollere yalnızca ihtiyaç duydukları kaynaklara erişim verin. Hassas verileri veya kritik kaynakları gereksiz yere açığa çıkarabilecek geniş izinler atamaktan kaçının.
  • Erişim ilkelerini düzenli olarak denetleyin: Güvenlik ve uyumluluk gereksinimlerindeki değişikliklere uyum sağlamak için ilkeleri periyodik olarak inceleyin ve güncelleyin. Aşırı izinli ilkeleri tespit etmek için AWS IAM Access Analyzer gibi araçlardan yararlanın.
  • İlke yönetimi için LF-Tag'lerden yararlanın: İlgili kaynakları gruplamak ve izin yönetimini basitleştirmek için Lake Formation Tag'lerini (LF-Tag) kullanın. Sensitive veya Non-Sensitive gibi etiketler uygulayarak, etiketli kaynaklara otomatik olarak uygulanan ölçeklenebilir, yeniden kullanılabilir ilkeler oluşturabilirsiniz.
  • İlkeleri kaynaklardan ayırın: İzinleri, kaynaklar oluşturulmadan önce LF-Tag'ler veya şablonlar kullanarak tanımlayın. Bu, yeni veri kaynakları veya tablolar eklendikçe sorunsuz bir entegrasyon süreci sağlar.

İşleri izleyin ve hata ayıklayın

  • Glue işleri için CloudWatch günlüklerini etkinleştirin: CloudWatch Logs, AWS Glue iş yürütmelerinin ayrıntılı günlüklerini, hataları ve yürütme ayrıntılarını yakalayabilir. Sorunları hızlıca gidermek için bu günlükleri kullanın.

AWS CloudWatch günlük olaylarının, TPC Crawler etkinliklerine ilişkin taramayı başlatma, sınıflandırmayı tamamlama ve tpc veritabanını güncelleme gibi ayrıntıları gösteren ekran görüntüsü

AWS CloudWatch'ta TPC Crawler için günlük olayları

  • Glue metriklerini izleyin: AWS Glue, ETL iş akışlarınızdaki verimsizlikleri veya sorunları belirlemeye yardımcı olacak metrikler sağlar. Olağandışı kalıplar hakkında sizi bilgilendirmesi için CloudWatch alarmları kurun.

AWS CloudWatch Metrikleri'nin, LF_GlueStudio için başarısız görevler, JVM GC süresi, yığın kullanımı ve kullanılan yığın gibi iş metriklerini ve alarmlar oluşturma ile metrikleri grafiğe dökme seçeneklerini gösteren ekran görüntüsü

AWS Glue Studio iş metriklerini izleme

Bölümleme ve sıkıştırma kullanın

  • Veri bölümlemeyi optimize edin: Veri kümelerini sıkça sorgulanan özelliklere göre bölün; örneğin departman, tarih veya bölge. Athena veya Redshift'te, örneğin satış verilerini ay ve yıl bazında bölümlere ayırmak, sorguları önemli ölçüde hızlandırabilir ve tarama maliyetlerini düşürebilir.
  • Doğru sıkıştırma formatını seçin: ORC veya Parquet gibi analitik iş yükleri için tasarlanmış sütunlu depolama formatlarını kullanın. Bunları Snappy gibi etkili sıkıştırma algoritmalarıyla birleştirerek depolama tasarrufu sağlayın ve sorguları hızlandırın.
  • Glue işlerinde bölümlemeyi otomatikleştirin: AWS Glue işleri, ETL süreci sırasında verileri dinamik olarak bölümlere ayırabilir. Gelen verilerin yapılandırılmış bir formatta depolanmasını sağlamak için iş yapılandırmanızda bölüm anahtarlarını belirtin.
  • Stratejileri düzenli olarak izleyin ve ayarlayın: Veri hacminiz arttıkça sıkıştırma ve bölümleme stratejilerinizin etkinliğini değerlendirin. Sorgu eğilimlerini inceleyin ve değişen iş yüklerine uyum sağlamak için bölümleme şemasını güncelleyin.

Sonuç

AWS Lake Formation ve AWS Glue'u uygulamak, kuruluşun verileri düzenlemesine, korumasına ve işlemesine yardımcı olur. Lake Formation'ın kapsamlı güvenlik önlemlerini ve Glue'un otomasyonunu kullanarak ETL süreçlerinizi optimize edebilir, veri yönetişimi ile ilgili tüm ilkelere uyabilir ve veri mühendisleri ile veri bilimciler dahil kullanıcılara veriye kolay erişim sağlayabilirsiniz.

Faydalar şunlardır:

  • Gelişmiş güvenlik: LF-Tag'lerle ayrıntılı erişim denetimi, hassas verilerin yalnızca yetkili kullanıcılar tarafından erişilebilir olmasını sağlar.
  • Otomasyon: AWS Glue, veri hazırlama ve dönüştürmeyi basitleştirerek manuel çabayı ve hataları azaltır.
  • Ölçeklenebilirlik: Dinamik izinler ve ilke yönetimi, veriler büyüdükçe sorunsuz ölçeklenmeyi mümkün kılar.
  • Verimlilik: Bölümleme ve sıkıştırma ile optimize edilmiş depolama ve sorgu performansı zaman ve maliyet tasarrufu sağlar.

Veri entegrasyonunu daha iyi anladıkça, öğreniminizi pratik ve uygulamalı bilgilerle tamamlamak önemlidir. Örneğin, Python ile ETL ve ELT kullanarak veri hatlarında uzmanlaşmak, verileri verimli şekilde işleme ve dönüştürme becerinizi artırabilir. Benzer şekilde, Veri Yönetimi Kavramlarına sağlam bir hakimiyet, veri kümelerini nasıl yapılandırıp yöneteceğinizi geliştirir. Ve sonuçlarınızın güvenilir olmasını sağlamak için, Veri Kalitesine Giriş kursunda öğretilen ilkeleri anlamak şarttır.

SSS

AWS Lake Formation ve AWS Glue entegrasyonunun amacı nedir?

AWS Lake Formation ve AWS Glue'u uygulayarak güvenli, otomatik ve ölçeklenebilir veri hatları geliştirmek mümkündür. Bu entegrasyon, kapsamlı erişim kontrolü, sadeleştirilmiş ETL süreçleri ve birleşik bir veri yönetimi, analitik ve uyumluluk platformu sağlar.

AWS Lake Formation'da LF-Tag'lerin önemi nedir?

LF-Tag'ler, belirli taksonomilerle (örneğin "Sensitive" veya "Non-Sensitive") veriler organize edildiği için geniş ölçekte izin yönetimine olanak tanır. Erişim ilkelerini etiketlere göre ayarlayabildiğinizden politika karmaşıklığını azaltırlar ve kaynaklar gerçekten oluşturulmadan önce de izinleri belirleyebilirsiniz; bu da belirli bir esneklik ve güvenlik sağlar.

Bu entegrasyonda AWS Glue Studio'nun rolü nedir?

AWS Glue Studio, sürükle-bırak arayüzüne sahip bir veri dönüştürme aracıdır. Kullanıcılar bu arayüz üzerinden ETL işleri geliştirir, izler ve kontrol eder. Veri dönüştürme süreçlerini daha verimli hale getirir ve böylece verilerin analiz için dönüştürülmesine yardımcı olur.

Birden fazla ekip aynı veri kümesine güvenli şekilde erişebilir mi?

Evet, AWS Lake Formation, kullanıcılara belirli rollere veya hatta LF-Tag'lere göre ayrıntılı erişim denetimi sağlama yeteneği sunar. Bu sayede her ekip yalnızca kendisini ilgilendiren verileri görür ve verinin kendisi korunur.

Makalede bahsedilen TPC veri kümesi nedir?

TPC veri kümesi, eğitim, kıyaslama ve eğitim amaçları için yaygın olarak kullanılan sentetik bir veri kümesidir. Çeşitli ürünler, müşteriler, demografik veriler, web satışları ve diğer işlemle ilgili veriler hakkında bilgi içerir ve bu da onu daha gerçekçi kılar.

Rahul Sharma

Yazar

Rahul Sharma

Rahul Sharma, bulut bilişim, DevOps uygulamaları ve açık kaynak teknolojiler konusunda uzmanlaşan bir AWS Elçisi, DevOps Mimarlı ve teknik blog yazarlıdır. AWS, Kubernetes ve Terraform konularındaki uzmanlığıyla, etkileyici makaleler ve eğiticiler aracılığıyla karmaşık kavramları öğrenenler ve profesyoneller için sadeleştirir. Rahul, DevOps zorluklarını çözmeye ve teknoloji topluluğuna güç katacak içgörüler paylaşmaya tutkuyla bağlıdır.

Konular

İlgili