Amazon DEA-C01: Veri Dönüşümü ve İşleme — Çalışma kılavuzu

Şunun bir parçası: Amazon Data Engineer Associate DEA-C01 — Çalışma kılavuzu. Doğrulanmış cevaplarla şurada pratik yapın: Amazon sınav merkezi, veya şurada süreli deneme sınavları çözün: ExamRoll.io.

Bu alan, verileri büyük ölçekte analiz ve makine öğrenimi için temizlemek, dönüştürmek ve hazırlamak amacıyla kullanılan AWS hizmetlerini ve desenlerini kapsar. Veri hacmi, gecikme gereksinimleri ve maliyet kısıtlamalarına göre doğru işlem (compute) ve araçların (Glue, Lambda, EMR, DataBrew) seçilmesine odaklanır. Güvenilir ve artımlı iş akışları oluşturmak için hizmet limitlerini, iş yapılandırma ayarlarını ve veri formatları ile katalogların nasıl etkileşimde bulunduğunu anlamak kritik öneme sahiptir.

AWS Glue ETL işleri (Spark ve Python shell)

Glue Spark işleri, büyük ölçekli ve dağıtık ETL için birincil seçenektir: AWS Glue tarafından yönetilen Apache Spark üzerinde çalışırlar, GlueContext kullanırlar ve DynamicFrame ile Spark DataFrame türleri üzerinde işlem yaparlar. Konsol veya CLI aracılığıyla “glueetl” iş türü, workerType (G.1X, G.2X, G.4X) ve NumberOfWorkers ile yapılandırılır; CLI ile başlatmak için: aws glue start-job-run --job-name my-spark-job --arguments '--execution-class=STANDARD'. Şema esnekliği gerektiren dönüşümlere, yerleşik dönüşümlere (Relationalize, Unnest) ve yarı yapılandırılmış verilerin otomatik işlenmesine ihtiyaç duyduğunuzda DynamicFrame API’lerini (create_dynamic_frame.from_options, apply_mapping) kullanın; Spark SQL’e, daha yüksek performanslı birleştirmelere (join) veya özel UDF’lere (Kullanıcı Tanımlı Fonksiyonlar) ihtiyaç duyduğunuzda ise dyf.toDF() ile Spark DataFrame’e dönüştürün.

Glue Python shell işleri, hafif betikleme ve kontrol düzlemi görevleri için “pythonshell” iş türünü kullanır. Tek DPU’lu (1 DPU) olup sınırlı paralelliğe sahiptirler ve küçük dosya manipülasyonları, meta veri güncellemeleri veya orkestrasyon için en uygunudur. aws glue create-job --name my-pyjob --command '{"Name":"pythonshell","PythonVersion":"3"}' ile yapılandırılır ve aws glue start-job-run ile başlatılır. Python shell işlerinin 1 DPU limiti olduğunu unutmayın — büyük veri setleri için Spark kullanın.

Glue iş yer imleri (job bookmarks), daha önce işlenmiş S3 nesnelerini ve bölümlerini (partition) takip ederek artımlı işlemeyi mümkün kılar. Yer imlerini iş yapılandırmasında veya işi başlatırken etkinleştirin: aws glue start-job-run --job-name my-job --job-bookmark-option job-bookmark-enable. Yer imleri, yerleşik bağlayıcıları kullanan S3 tabanlı kaynaklar için çalışır; JDBC kaynakları varsayılan olarak yer imlerini desteklemez ve özel damgalama (watermarking) veya durum depolaması gerektirir.

Glue artık maliyet optimizasyonlu, acil olmayan işler için ExecutionClass FLEX’i desteklemektedir. Glue’nun işi daha düşük maliyetle ve esnetilmiş başlangıç zamanı SLA’ları ile zamanlamasına izin vermek için aws glue start-job-run --job-name my-job --execution-class FLEX ile başlatın. FLEX’i toplu geçmiş veri doldurma (batch backfill) ve gecikmeye duyarlı olmayan iş yükleri için kullanın; öngörülebilir gecikme için STANDARD kullanın.

Karar kriterleri — hızlı karşılaştırmalar:

Hafif dönüşümler için AWS Lambda

Lambda, doğrudan S3, Kinesis veya EventBridge tarafından tetiklenen olay güdümlü, düşük gecikmeli, hafif dönüşümler için idealdir. Tipik kullanım alanları arasında dosya doğrulama, meta veri çıkarma, küçük dosyalar için JSON’dan CSV’ye dönüştürme veya kayıtların akış halinde işlenmesi yer alır. Belleği ve zaman aşımını aws lambda update-function-configuration --function-name myFunc --memory-size 2048 --timeout 300 ile yapılandırın. Gecikmeye duyarlı akış iş akışları için soğuk başlangıçları (cold start) azaltmak amacıyla aws lambda put-provisioned-concurrency-config ile Sağlanan Eşzamanlılık (Provisioned Concurrency) ayarlanabilir.

Veri işleme için Lambda limitlerine dikkat edin: 15 dakika maksimum çalışma süresi, 10 GB bellek (10.240 MB) ve yalnızca 512 MB geçici /tmp depolama alanı. Daha büyük dosyaları işlemek için, zincirleme işleme (dosyaları bölme), S3’e aşamalandırıp bir Glue veya EMR işi çağırma ya da AWS Step Functions ile çok parçalı işleme kullanın. Küçük yapılandırmalar için ortam değişkenlerini ve en az ayrıcalık ilkesini sıkı bir şekilde uygulayan IAM rolü politikalarını kullanın.

Karar kriterleri — Lambda ne zaman seçilmeli:

Büyük ölçekli işleme için Amazon EMR

EMR; küme düzeyinde kontrol, özel bootstrap eylemleri veya özelleştirilmiş kütüphaneler gerektiren, özelleştirilebilir, büyük ölçekli büyük veri işleme (Spark, Hadoop, Presto, Flink) için başvurulacak çözümdür. CLI aracılığıyla aws emr create-cluster komutuyla kümeler oluşturun ve --instance-groups ya da --instance-fleets seçeneklerinden birini seçin. Instance fleet’ler esnek örnek türü karışımları ve spot/ON demand kombinasyonları sunar; instance group’lar ise daha basit, sabit boyutlu gruplardır.

Dikkate alınması gereken EMR küme desenleri:

Yapılandırma örnekleri:

Hadoop ekosistemi bileşenleri üzerinde tam kontrol, özel bootstrap betikleri veya ara veriler için kalıcı HDFS’e ihtiyacınız olduğunda EMR kullanın; aksi takdirde, Glue Data Catalog ile entegre olan yönetilen Spark ETL için Glue Spark daha basittir.

Glue DataBrew ve görsel dönüşümler

Glue DataBrew, etkileşimli olarak çalışan veri analistleri ve mühendislerini hedefleyen; veri profilleme, temizleme ve dönüştürme için kullanılan görsel, kod gerektirmeyen/az kod gerektiren bir araçtır. S3 veya Glue Catalog’dan bir veri seti oluşturun, konsolda dönüşümlerden oluşan bir “recipe” (tarif) oluşturun, bir örnek üzerinde önizleme yapın ve tarifleri büyük ölçekte uygulamak için job’lar çalıştırın. DataBrew job’larını zamanlayın veya CLI aracılığıyla aws databrew start-job-run --name my-databrew-job komutuyla çalıştırın.

DataBrew; standardizasyon, tekilleştirme, tür dönüştürme ve yerleşik fonksiyonlarla sütun düzeyinde dönüşümler gibi veri hazırlama görevleri için optimize edilmiştir. Glue Catalog ile entegre olur ve çıktıları S3’e yazar. İş kullanıcılarının self-servis temizlik ve hızlı profillemeye ihtiyacı olduğunda DataBrew’u seçin; ağır dönüşüm mantığı, karmaşık join’ler veya çok büyük veri setleri için Glue Spark veya EMR’ı tercih edin.

Görsel ve kod tabanlı dönüşümlerin karşılaştırması:

Yaygın Hatalar ve Karar Kriterleri

Pratik Problem: Kullanım Senaryosu

AcmeRetail, gecelik clickstream Parquet dosyalarını birleşik bir müşteri aktivite tablosuna işliyor ve acil olmayan geçmişe dönük veri doldurma işlemleri için maliyetleri düşük tutarken aylarca veriyi yeniden işlemekten kaçınmak için artımlı işleme istiyor.

  1. S3’te partition’lı bir düzen (year=/month=/day=) kullanın ve veri setini Glue Data Catalog’a kaydedin.
  2. Şema esnekliği için DynamicFrame.from_catalog ile okuma yapan, eşlemeler (mapping) uygulayan, karmaşık join’ler için DataFrame’e dönüştüren ve partition’lı Parquet’ı tekrar S3’e yazan bir Glue Spark job’ı (glueetl) oluşturun.
  3. Gecelik çalıştırmalarda yalnızca yeni partition’ları işlemek için Glue job bookmark’larını (job-bookmark-enable) etkinleştirin; JDBC zenginleştirme kaynakları için, işlenen maksimum zaman damgasını izlemek üzere DynamoDB’de kalıcı hale getirilen watermark sütunları uygulayın.
  4. Rutin gecelik çalıştırmalar için ExecutionClass=STANDARD kullanın; acil olmayan geçmişe dönük yeniden işleme için, maliyetten tasarruf etmek amacıyla çalıştırmaları --execution-class FLEX ile gönderin.
  5. CloudWatch metrikleri ile izleyin ve job hataları için alarmlar kurun; çok büyük ölçek veya özel kütüphaneler için, ara sonuçları S3’e yazan ve otomatik olarak sonlanan geçici EMR kümelerini değerlendirin.

Gerekçe: Bu yaklaşım, ölçeklenebilir dönüşümler için Glue’nün yönetilen Spark’ından ve yarı yapılandırılmış girdiler için DynamicFrame’lerden yararlanır, S3 artımlı işleme için job bookmark’larını kullanır ve geçmişe dönük veri doldurma işlemlerinin maliyetini düşürmek için FLEX’i kullanarak maliyet, güvenilirlik ve operasyonel basitliği korur.


Veri Kataloglama ve Metadata Yönetimi · Tüm alanlar · Veri Orkestrasyonu ve İş Akışı Yönetimi

Bu soruları çözün → · ExamRoll.io’da süreli pratik →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Sınavınızı geçin →

Amazon'a göz atın →

Related guides

Hepsi bir arada erişim

Tek abonelik. Her sınav.

Her plan, sınırsız cevap aramayı, pratik testlerini, AI açıklamalarını ve tam kaynak kütüphanesini — 20'den fazla dilde — açar.

Aylık
24.87
Just €0.83/day
Her şey dahil:
  • Sınırsız cevap arama
  • Sınırsız pratik testi
  • AI destekli açıklamalar
  • Tam kaynak kütüphanesi
  • 20+ dil
  • Haftalık içerik güncellemeleri
  • Ödüller ve yönlendirmeler
  • Öncelikli destek
Ücretsiz denemeyi başlat

Kredi kartı gerekmez*

En iyi değer
12 ay
179.87
Just €0.49/daySave 40%
Her şey dahil:
  • Sınırsız cevap arama
  • Sınırsız pratik testi
  • AI destekli açıklamalar
  • Tam kaynak kütüphanesi
  • 20+ dil
  • Haftalık içerik güncellemeleri
  • Ödüller ve yönlendirmeler
  • Öncelikli destek
Ücretsiz denemeyi başlat

Kredi kartı gerekmez*

✓ Ücretsiz plan dahil · ✓ İstediğiniz zaman iptal edin · ✓ Tüm planlar tam ürünü açar