AWS Glue Nedir? Veri Entegrasyonu ve ETL Süreçlerinde Nasıl Kullanılır?

AWS Glue, farklı kaynaklardaki verileri keşfetmek, hazırlamak, dönüştürmek ve birleştirmek için kullanılan, Amazon Web Services (AWS) tarafından yönetilen sunucusuz bir veri entegrasyonu hizmetidir. Hizmet; Apache Spark tabanlı ETL işlerini, merkezi bir metaveri kataloğunu (AWS Glue Data Catalog) ve veri kalitesi kontrollerini bir arada sunar. Sunucu altyapısı AWS tarafından yönetilir. Veri akışlarının tasarımı ve işletilmesi ise ekiplerin sorumluluğunda kalır. (AWS Glue dokümantasyonu)

‍

Kısaca AWS Glue

  • Tür: Sunucusuz (serverless) veri entegrasyonu ve ETL hizmeti
  • Temel bileşenler: Data Catalog, Crawler, ETL işleri, Glue Studio, Glue Data Quality
  • İşlem motoru: Apache Spark ve Python
  • Ücretlendirme: Kullanıma dayalı; ETL işleri ve crawler'lar DPU-saat üzerinden, saniye bazında
  • Ücretsiz kullanım: Data Catalog'da aylık ilk 1 milyon metaveri nesnesi ve ilk 1 milyon erişim isteği
  • Tipik kullanım: Veri gölü, raporlama, veri ambarı ve makine öğrenmesi için veri hazırlama

‍

AWS Glue ne işe yarar?

AWS Glue, dağınık kaynaklardaki verileri analize hazır, ortak bir yapıya dönüştürür. Kurumsal veriler çoğunlukla farklı veritabanlarında, uygulamalarda ve dosyalarda tutulur. Bu verilerin birlikte analiz edilebilmesi için tek bir standarda getirilmesi gerekir.

AWS Glue bu süreçte üç adımı üstlenir: verinin kaynaktan alınması, dönüştürülmesi ve hedef sisteme yüklenmesi. Bu süreç ETL (Extract, Transform, Load — Çıkar, Dönüştür, Yükle) olarak adlandırılır. Örneğin farklı kaynaklardan gelen satış kayıtlarının tarih formatları standartlaştırılabilir, alanları eşleştirilebilir ve raporlamaya uygun bir veri kümesi oluşturulabilir. (AWS sunucusuz ETL rehberi)

‍

AWS Glue'un temel bileşenleri nelerdir?

AWS Glue beş temel bileşenden oluşur: Data Catalog, Crawler, ETL işleri, Glue Studio ve Glue Data Quality. Her bileşen, veri entegrasyonu sürecinin farklı bir adımını yönetir.

‍

AWS Glue Data Catalog

Veri kümelerinin konum, şema ve veri türü bilgilerini tutan merkezi metaveri deposu

AWS Glue Crawler

Veri kaynaklarını tarayarak şemayı belirleyen ve katalog tablolarını oluşturan/güncelleyen keşif aracı

ETL işleri

Verinin dönüştürülmesini ve hedef sisteme yüklenmesini sağlayan Spark veya Python tabanlı işler

AWS Glue Studio

ETL işlerinin görsel arayüzle veya not defteri (notebook) ortamında geliştirilmesini sağlayan araç

AWS Glue Data Quality

Eksik, güncelliğini yitirmiş veya hatalı veriyi kurallarla ölçen ve izleyen modül

‍

AWS Glue Data Catalog nedir?

AWS Glue Data Catalog, veri kümelerinin nerede bulunduğunu ve nasıl yorumlanacağını tanımlayan merkezi bir metaveri kataloğudur. Tablo şemaları, sütunlar, veri türleri ve bölümleme (partition) bilgileri bu katalogda yönetilir. Amazon Athena, Amazon Redshift ve Amazon EMR gibi hizmetler aynı katalog üzerinden sorgu çalıştırabilir.

Data Catalog yalnızca metaveriyi tutar. Verinin kendisi Amazon S3 veya Amazon Redshift gibi depolama katmanlarında kalır. AWS Lake Formation entegrasyonu sayesinde katalog üzerinden tablo, sütun ve satır düzeyinde erişim yetkileri tanımlanabilir. (AWS Glue fiyatlandırma ve Data Catalog)

‍

AWS Glue Crawler nedir?

AWS Glue Crawler, desteklenen veri kaynaklarını tarayarak veri yapısını otomatik olarak belirleyen ve Data Catalog'daki tablo tanımlarını oluşturan bir keşif aracıdır. Crawler kullanımı isteğe bağlıdır; tablo tanımları API veya SQL (DDL) komutlarıyla doğrudan da oluşturulabilir. (Veri keşfi ve kataloglama dokümantasyonu)

‍

AWS Glue ETL işleri ve Glue Studio nasıl çalışır?

AWS Glue ETL işleri, Apache Spark veya Python ile yazılan ve verinin dönüştürülüp hedef sisteme yüklenmesini sağlayan işlem birimleridir. AWS Glue Studio, bu işlerin kod yazmadan görsel olarak tasarlanmasına veya not defteri ortamında etkileşimli olarak geliştirilmesine olanak tanır. AWS Glue ayrıca Amazon Kinesis Data Streams ve Apache Kafka gibi kaynaklardan gelen akış (streaming) verisinin işlenmesini de destekler. (AWS Glue özellikleri)

‍

AWS Glue hangi durumlarda kullanılır?

AWS Glue en çok veri gölü oluşturma, raporlama verisi hazırlama, veri ambarına veri aktarma ve makine öğrenmesi için veri hazırlama senaryolarında kullanılır.

  • Veri gölü oluşturma: Farklı kaynaklardaki verilerin Amazon S3 üzerinde analize uygun biçimde (ör. Parquet veya Apache Iceberg tabloları) hazırlanması.
  • Raporlama verisi hazırlama: Satış, finans ve operasyon kayıtlarının ortak iş kurallarıyla dönüştürülmesi.
  • Veri ambarına veri hazırlama: Amazon Redshift gibi hedef analitik sistemlerin ihtiyaçlarına uygun veri kümelerinin oluşturulması.
  • Makine öğrenmesi için veri hazırlama: Kaynak verilerin temizlenmesi ve Amazon SageMaker gibi ML ortamlarına uygun formata dönüştürülmesi.

Hizmet seçiminde veri hacmi, kaynak bağlantıları, güncelleme sıklığı ve dönüşüm karmaşıklığı birlikte değerlendirilir. Sunucusuz yapının maliyet ve performans etkisi, iş yükünün karakterine göre farklılaşır. Bu nedenle pilot ölçümler karar sürecinin önemli bir parçasıdır.

‍

AWS Glue ile satış ve stok verileri nasıl birleştirilir?

Satış ve stok verileri AWS Glue ile beş adımda birleştirilebilir: veri alma, standartlaştırma, kalite kontrolü, hedefe yükleme ve izleme.

Örnek senaryo: Bir şirketin satış kayıtları ilişkisel bir veritabanında tutulmaktadır. Stok kayıtları ise Amazon S3'e yüklenen günlük dosyalarda yer almaktadır. Amaç, ürün bazında satış ve stok durumunun tek bir tabloda izlenmesidir.

  1. Veri alma: Satış verisi JDBC bağlantısıyla, stok dosyaları ise Amazon S3'ten okunur.
  2. Standartlaştırma: Ürün kodları ve tarih alanları ortak formata dönüştürülür.
  3. Kalite kontrolü: Eksik alanlar ve eşleşmeyen kayıtlar için AWS Glue Data Quality kuralları uygulanır.
  4. Hedefe yükleme: Hazırlanan veri, Amazon S3 üzerindeki analitik katmana veya Amazon Redshift'e aktarılır.
  5. İzleme: İş başarısı, veri güncelliği ve hata kayıtları Amazon CloudWatch üzerinden takip edilir.

Bu senaryo kavramsal bir uygulama örneği olarak hazırlanmıştır. İşlem süresi ve maliyet, kullanılan kaynaklara ve veri yapısına göre ölçülerek belirlenir.

‍

AWS Glue, Amazon S3 ve Amazon Athena arasındaki fark nedir?

Amazon S3 veriyi saklar, AWS Glue veriyi hazırlar ve kataloglar, Amazon Athena ise veriyi SQL ile sorgular. Üç hizmet aynı mimaride birbirini tamamlayacak şekilde birlikte kullanılır.

‍

Amazon S3

Nesne depolama

Ham ve işlenmiş verinin saklanması

AWS Glue

Veri entegrasyonu, dönüşüm ve metaveri yönetimi

ETL işleri, şema keşfi, veri kalitesi

Amazon Athena

Sunucusuz SQL sorgulama

S3'teki verinin anlık analizi

Örnek bir mimaride veriler S3 üzerinde saklanır, Glue ile hazırlanıp kataloglanır ve Athena üzerinden sorgulanır. (AWS Glue genel bakış)

‍

AWS Glue maliyeti nasıl hesaplanır?

AWS Glue kullanıma dayalı olarak ücretlendirilir. ETL işleri ve crawler'lar DPU-saat üzerinden saniye bazında faturalandırılır. Data Catalog ise depolanan metaveri nesnesi ve erişim isteği sayısına göre ücretlendirilir. Fiyatlar AWS bölgesine göre değişir. (AWS Glue fiyatlandırma)

  • DPU (Data Processing Unit): 1 DPU, 4 vCPU ve 16 GB bellekten oluşan işlem kapasitesi birimidir.
  • Hesaplama örneği: 6 DPU ile 15 dakika çalışan bir Spark işi, 6 × 0,25 = 1,5 DPU-saat olarak faturalandırılır.
  • Data Catalog ücretsiz kullanımı: Aylık ilk 1 milyon metaveri nesnesi ve ilk 1 milyon erişim isteği ücretsizdir.
  • Flex çalıştırma: Zaman kritik olmayan iş yükleri için daha düşük DPU-saat ücretiyle çalışan esnek yürütme seçeneği sunulur.

Toplam maliyet hesabında Glue'nun yanı sıra Amazon S3 depolama, Athena sorgulama ve veri transferi gibi bağlantılı kalemler de dikkate alınır. Güncel birim fiyatlar için AWS Glue fiyatlandırma sayfası ve AWS Pricing Calculator referans alınır.

‍

AWS Glue projesine başlamadan önce neler belirlenir?

Bir AWS Glue projesinde başlangıçta veri kaynakları, hedef sistem, veri hacmi ve güncelleme sıklığı netleştirilir. Ardından veri kalitesi kuralları, erişim yetkileri, hata yönetimi ve maliyet beklentisi tanımlanır.

Küçük bir veri kümesiyle yürütülen pilot çalışma; bağlantıların, dönüşümlerin ve işlem süresinin gerçek koşullarda ölçülmesini sağlar. Pilot sonuçları, üretim ortamına yönelik mimari kararların temelini oluşturur.

‍

Sık Sorulan Sorular (SSS)

AWS Glue ücretsiz mi?

AWS Glue kullanıma dayalı olarak ücretlendirilir; yalnızca kullanılan kaynaklar için ödeme yapılır. Data Catalog için her ay ilk 1 milyon metaveri nesnesi ve ilk 1 milyon erişim isteği ücretsizdir. ETL işleri, crawler'lar ve etkileşimli oturumlar ise kullanılan DPU-saat üzerinden saniye bazında faturalandırılır.

AWS Glue'da DPU nedir?

DPU (Data Processing Unit), AWS Glue'da işlem kapasitesini ifade eden ölçü birimidir. 1 DPU, 4 vCPU ve 16 GB bellek sağlar. ETL işlerinin, crawler'ların ve veri kalitesi görevlerinin maliyeti, kullanılan DPU sayısı ile çalışma süresinin çarpımıyla (DPU-saat) hesaplanır.

AWS Glue hangi programlama dillerini destekler?

AWS Glue ETL işleri Python (PySpark) ve Scala ile Apache Spark üzerinde geliştirilir. Hafif iş yükleri için Python shell işleri de kullanılabilir. AWS Glue Studio ise görsel arayüz ve SQL dönüşümleri sayesinde kod yazmadan veri akışı tasarlanmasına olanak tanır.

AWS Glue gerçek zamanlı veri işleyebilir mi?

AWS Glue, akış (streaming) ETL işleriyle Amazon Kinesis Data Streams, Apache Kafka ve Amazon MSK gibi kaynaklardan gelen veriyi sürekli olarak işleyebilir. Veri küçük mikro-yığınlar (micro-batch) hâlinde işlendiği için gerçek zamana yakın (near real-time) analitik senaryolarına uygundur.

AWS Glue ile Amazon EMR arasındaki fark nedir?

AWS Glue, altyapı yönetimi gerektirmeyen sunucusuz bir ETL hizmetidir. Amazon EMR ise Apache Spark, Hive ve Presto gibi açık kaynak büyük veri çerçevelerini yönetilen kümeler üzerinde çalıştırır ve yapılandırma üzerinde daha fazla kontrol sunar. Standart ETL için Glue, yüksek özelleştirme gerektiren büyük ölçekli iş yükleri için ise EMR öne çıkar.

AWS Glue Apache Iceberg tablolarını destekler mi?

Evet. AWS Glue ETL işleri Apache Iceberg tablolarını okuyup yazabilir ve Data Catalog bu tabloları yönetebilir. Data Catalog ayrıca Amazon S3'teki Iceberg tabloları için küçük dosyaları birleştiren yönetilen sıkıştırma (compaction) özelliği sunar. Bu özellik sorgu okuma performansını iyileştirir.

AWS Glue Data Catalog hangi hizmetlerle birlikte kullanılır?

AWS Glue Data Catalog; Amazon Athena, Amazon Redshift, Amazon EMR ve AWS Lake Formation ile entegre çalışır. Bu sayede aynı tablo tanımı farklı analitik hizmetlerden sorgulanabilir ve erişim yetkileri tek bir merkezden yönetilir.

AWS Glue Data Quality nedir?

AWS Glue Data Quality, veri göllerinde ve veri akışlarında eksik, güncelliğini yitirmiş veya hatalı veriyi tanımlanan kurallarla ölçen ve izleyen bir özelliktir. Kurallar Data Catalog tablolarında veya doğrudan ETL işlerinin içinde çalıştırılabilir. Anomali tespiti sayesinde beklenmeyen veri değişimleri de yakalanabilir.

Zero-ETL, AWS Glue'nun yerini alır mı?

Zero-ETL, belirli kaynaklardan Amazon Redshift ve Amazon SageMaker Lakehouse'a veri aktarımını ETL hattı kurmadan otomatikleştiren yönetilen entegrasyonlar bütünüdür. Basit veri alma ve çoğaltma senaryolarında kullanılır. Karmaşık dönüşüm, birleştirme ve veri kalitesi gerektiren süreçlerde ise AWS Glue ETL işleri tamamlayıcı bir rol üstlenir.

‍

Kaynaklar

‍

Diğer Yazılar

TÜMÜNÜ GÖR
Teknoloji dünyasındaki yenilikleri, dijital dönüşüm süreçlerini ve geleceği şekillendiren trendleri ele aldığımız yazılarımıza göz atın. NovaDSA olarak bilgi paylaşımını, sürekli öğrenmeyi ve ilham vermeyi önemsiyoruz.