Zephyrnet Logosu

ETL işlem hatları için AWS Glue Veri Kalitesinin performansını ölçün | Amazon Web Hizmetleri

Tarih:

Son yıllarda veri gölleri ana akım mimari haline geldi ve veri kalitesinin doğrulanması, verilerin yeniden kullanılabilirliğini ve tutarlılığını geliştirmek için kritik bir faktördür. AWS Glue Veri Kalitesi verileri doğrulamak için gereken çabayı günlerden saatlere indirir ve veri doğrulamayı çalıştırmak için gereken kaynaklar hakkında bilgi işlem önerileri, istatistikler ve öngörüler sağlar.

AWS Tutkal Veri Kalitesi temel alınarak oluşturulmuştur DeeQu, veri kalitesi ölçümlerini hesaplamak ve veri kalitesi kısıtlamalarını ve veri dağıtımındaki değişiklikleri doğrulamak için Amazon'da geliştirilen ve kullanılan açık kaynaklı bir araçtır; böylece algoritmaları uygulamak yerine verilerin nasıl görünmesi gerektiğini açıklamaya odaklanabilirsiniz.

Bu yazıda, önceden tanımlanmış bir test veri kümesi üzerinde giderek daha karmaşık hale gelen veri kalitesi kural kümelerini çalıştırmanın karşılaştırmalı sonuçlarını sunuyoruz. Sonuçların bir parçası olarak, AWS Glue Data Quality'in ayıklama, dönüştürme ve yükleme (ETL) işlerinin çalışma zamanı, veri işleme birimleri (DPU'lar) cinsinden ölçülen kaynaklar ve maliyeti nasıl takip edebileceğiniz hakkında nasıl bilgi sağladığını gösteriyoruz AWS Cost Explorer'da özel maliyet raporlaması tanımlayarak ETL işlem hatları için AWS Glue Data Quality'i çalıştırma.

Çözüme genel bakış

AWS Glue Veri Kalitesinin giriş veri kümelerine bağlı olarak nasıl otomatik olarak ölçeklendiğini keşfetmek için test veri kümemizi tanımlayarak başlıyoruz.

Veri kümesi ayrıntıları

Test veri seti Parke formatında saklanan 104 sütun ve 1 milyon satır içerir. Yapabilirsiniz veri kümesini indir veya sağlanan Python betiğini kullanarak yerel olarak yeniden oluşturun. Depo. Oluşturucu komut dosyasını çalıştırmayı tercih ederseniz, Pandalar ve Taklit Python ortamınızdaki paketler:

pip install pandas mimesis

Veri kümesi şeması, yerleşik AWS Glue Veri Kalitesi kombinasyonunu kullanmak için yeterli özniteliğe sahip olmak amacıyla sayısal, kategorik ve dize değişkenlerinin bir kombinasyonudur. kural türleri. Şema, finansal piyasa verilerinde bulunan enstrüman sayacı, işlem hacimleri ve fiyat tahminleri gibi en yaygın özelliklerden bazılarını kopyalıyor.

Veri kalitesi kural setleri

Karşılaştırma yapısını tanımlamak için yerleşik AWS Tutkal Veri Kalitesi kural türlerinden bazılarını kategorilere ayırıyoruz. Kategoriler, kuralların satır düzeyinde inceleme (basit kurallar), satır satır analiz (orta düzey kurallar) veya veri türü kontrolleri gerektirmeyen sütun kontrolleri gerçekleştirip gerçekleştirmediğini dikkate alır ve sonuçta satır değerlerini diğer veri kaynaklarıyla (karmaşık kurallar) karşılaştırır. ). Aşağıdaki tablo bu kuralları özetlemektedir.

Basit kurallar Orta Kurallar Karmaşık Kurallar
SütunSayısı DistinctValuesCount Sütun Değerleri
ColumnDataType Tamamlandı tamlık
SütunMevcut Toplam Bilgi tutarlılığı
SütunAdlarıEşleşmeDesen Standart sapma Sütun Korelasyonu
Satır Sayısı Anlamına gelmek SatırSayıEşleşme
Sütun Uzunluğu . .

Veri kalitesi kural kümelerini çalıştırdığımız sekiz farklı AWS Glue ETL işi tanımlıyoruz. Her işin kendisiyle ilişkili farklı sayıda veri kalitesi kuralı vardır. Her işin aynı zamanda ilişkili bir kullanıcı tanımlı maliyet tahsis etiketi bunu daha sonra AWS Cost Explorer'da veri kalitesi maliyet raporu oluşturmak için kullanırız.

Aşağıdaki tabloda her kural kümesi için düz metin tanımını sağlıyoruz.

İş adı Basit kurallar Orta Kurallar Karmaşık Kurallar Kural Sayısı Etiket Tanım
kural kümesi-0 0 0 0 0 dqjob:rs0 -
kural kümesi-1 0 0 1 1 dqjob:rs1 Link
kural kümesi-5 3 1 1 5 dqjob:rs5 Link
kural kümesi-10 6 2 2 10 dqjob:rs10 Link
kural kümesi-50 30 10 10 50 dqjob:rs50 Link
kural kümesi-100 50 30 20 100 dqjob:rs100 Link
kural kümesi-200 100 60 40 200 dqjob:rs200 Link
kural kümesi-400 200 120 80 400 dqjob:rs400 Link

Veri kalitesi kural kümelerini içeren AWS Glue ETL işlerini oluşturun

biz yüklüyoruz veri kümesini test et için Amazon Basit Depolama Hizmeti (Amazon S3) ve ayrıca AWS Glue Veri Kalitesi'ndeki referans bütünlüğü kurallarını değerlendirmek için kullanacağımız iki ek CSV dosyası (isocodes.csv ve exchanges.csv) AWS Tutkal Veri Kataloğuna eklendikten sonra. Aşağıdaki adımları tamamlayın:

  1. Amazon S3 konsolunda hesabınızda yeni bir S3 klasörü oluşturun ve veri kümesini test et.
  2. S3 klasöründe adı verilen bir klasör oluşturun isocodes ve yükle isocodes.csv dosyası.
  3. S3 klasöründe exchange adında başka bir klasör oluşturun ve exchanges.csv dosyası.
  4. AWS Glue konsolunda, CSV içeriğini AWS Glue Veri Kataloğuna kaydetmek için her klasör için bir tane olmak üzere iki AWS Glue tarayıcısını çalıştırın (data_quality_catalog). Talimatlar için bkz. AWS Glue Crawler'ı ekleme.

AWS Glue tarayıcıları iki tablo oluşturur (exchanges ve isocodes) AWS Glue Data Catalog'un bir parçası olarak.

AWS Tutkal Veri Kataloğu

Şimdi şunu oluşturacağız: AWS Kimlik ve Erişim Yönetimi (BEN) rol çalışma zamanında ETL işleri tarafından üstlenilecek olan:

  1. IAM konsolunda adlı yeni bir IAM rolü oluşturun AWSGlueDataQualityPerformanceRole
  2. İçin Güvenilir varlık türüseçin AWS hizmeti.
  3. İçin Hizmet veya kullanım örneği, seçmek Tutkal.
  4. Klinik Sonraki.

AWS IAM güven varlığı seçimi

  1. İçin İzin politikaları, girmek AWSGlueServiceRole
  2. Klinik Sonraki.
    AWS IAM izin politikaları ekleme
  3. Yeni bir satır içi politika oluşturup ekleyin (AWSGlueDataQualityBucketPolicy) aşağıdaki içeriğe sahip. Yer tutucuyu daha önce oluşturduğunuz S3 klasörü adıyla değiştirin:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "s3:GetObject",
          "Resource": [
            "arn:aws:s3:::<your_Amazon_S3_bucket_name>/*"
          ]
        }
      ]
    }

Daha sonra AWS Glue ETL işlerinden birini oluşturuyoruz. ruleset-5.

  1. AWS Tutkal konsolunda, altında ETL işleri gezinme bölmesinde öğesini seçin. Görsel ETL.
  2. içinde İş oluştur bölümü, seçim Görsel ETL.x
    AWS Glue Studio'daki mevcut işlere genel bakış
  3. Görsel Düzenleyici'de bir Veri Kaynağı – S3 Paketi kaynak düğümü:
    1. İçin S3 URL'si, test veri kümesini içeren S3 klasörüne girin.
    2. İçin Veri formatı, seçmek Parke.

    AWS Glue Studio'daki Amazon S3 veri kaynağına genel bakış

  4. Yeni bir eylem düğümü oluşturun, Dönüşüm: Değerlendir-Veri-Katalog:
  5. İçin Düğüm ebeveynleri, oluşturduğunuz düğümü seçin.
  6. Eklemek kural seti-5 tanımı altında Kural kümesi düzenleyicisi.
    Kural seti-5 için veri kalitesi kuralları
  7. Sona ve altına doğru kaydırın Performans Yapılandırması, etkinleştirme Önbellek Verileri.

Verileri Önbelleğe Al seçeneğini etkinleştir

  1. Altında İş detayları, Için IAM Rolü, seçmek AWSGlueDataQualityPerformanceRole.
    Daha önce oluşturulan AWS IAM rolünü seçin
  2. içinde Etiketler bölüm, tanımla dqjob olarak etiketle rs5.

Bu etiket, veri kalitesindeki ETL işlerinin her biri için farklı olacaktır; ETL işlerinin maliyetini incelemek için bunları AWS Cost Explorer'da kullanırız.

Kural seti-5 işi için dqjob etiketini tanımlayın

  1. Klinik İndirim.
  2. Tüm ETL işlerini tanımlamak için bu adımları kural kümelerinin geri kalanıyla tekrarlayın.

AWS Glue Studio'da tanımlanan işlere genel bakış

AWS Glue ETL işlerini çalıştırın

ETL işlerini çalıştırmak için aşağıdaki adımları tamamlayın:

  1. AWS Glue konsolunda seçin Görsel ETL altında ETL işleri Gezinti bölmesinde.
  2. ETL işini seçin ve İşi çalıştır.
  3. Tüm ETL işleri için tekrarlayın.

Bir AWS Glue işi seçin ve sağ üstteki İşi Çalıştır'ı seçin

ETL işleri tamamlandığında, İş çalıştırma izleme sayfasında iş ayrıntıları görüntülenecektir. Aşağıdaki ekran görüntüsünde gösterildiği gibi, bir DPU saatleri sütunu her ETL işi için sağlanır.

AWS Glue işlerini izlemeye genel bakış

Performansı inceleyin

Aşağıdaki tablo, aynı test veri kümesi üzerinde sekiz farklı veri kalitesi kural kümesinin çalıştırılmasından kaynaklanan süreyi, DPU saatlerini ve tahmini maliyetleri özetlemektedir. Tüm kural kümelerinin daha önce açıklanan test veri kümesinin tamamıyla (104 sütun, 1 milyon satır) çalıştırıldığını unutmayın.

ETL İş Adı Kural Sayısı Etiket Süre (sn) DPU saat sayısı DPU sayısı Maliyet ($)
kural kümesi-400 400 dqjob:rs400 445.7 1.24 10 $0.54
kural kümesi-200 200 dqjob:rs200 235.7 0.65 10 $0.29
kural kümesi-100 100 dqjob:rs100 186.5 0.52 10 $0.23
kural kümesi-50 50 dqjob:rs50 155.2 0.43 10 $0.19
kural kümesi-10 10 dqjob:rs10 152.2 0.42 10 $0.18
kural kümesi-5 5 dqjob:rs5 150.3 0.42 10 $0.18
kural kümesi-1 1 dqjob:rs1 150.1 0.42 10 $0.18
kural kümesi-0 0 dqjob:rs0 53.2 0.15 10 $0.06

Boş bir kural kümesini değerlendirmenin maliyeti sıfıra yakındır ancak AWS Glue Veri Kalitesi işleriyle ilişkili IAM rollerini doğrulamak ve Amazon S3'teki test veri kümesine yönelik okuma izinlerini doğrulamak için hızlı bir test olarak kullanılabildiği için dahil edilmiştir. Veri kalitesi işlerinin maliyeti ancak 100'den fazla kural içeren kural kümeleri değerlendirildikten sonra artmaya başlar ve bu sayının altında sabit kalır.

Karşılaştırmadaki en büyük kural seti (400 kural) için veri kalitesini çalıştırmanın maliyetinin hala 0.50 doların biraz üzerinde olduğunu gözlemleyebiliyoruz.

AWS Cost Explorer'da veri kalitesi maliyet analizi

AWS Cost Explorer'da veri kalitesi ETL iş etiketlerini görmek için şunları yapmanız gerekir: kullanıcı tanımlı maliyet tahsis etiketlerini etkinleştirin İlk.

Kullanıcı tanımlı etiketleri oluşturup kaynaklarınıza uyguladıktan sonra, etiket anahtarlarının maliyet tahsisi etiketleri sayfanızda etkinleştirilerek görünmesi 24 saat kadar sürebilir. Bu durumda etiket tuşlarının etkinleştirilmesi 24 saate kadar sürebilir.

  1. AWS'de Maliyet Gezgini konsol, seç Maliyet Gezgini Kaydedilen Raporlar Gezinti bölmesinde.
  2. Klinik Yeni rapor oluştur.
    Yeni AWS Maliyet Gezgini raporu oluşturun
  3. seç Maliyet ve kullanım rapor türü olarak
  4. Klinik Rapor yaratmak.
    Yeni bir AWS Maliyet Gezgini raporunun oluşturulmasını onaylayın
  5. İçin Tarih aralığı, bir tarih aralığı girin.
  6. İçin GranülerlikSeç Günlük.
  7. İçin Boyut, seçmek Etiket, sonra seçin dqjob etiketi.
    AWS Cost Explorer'da parametre seçimini raporlayın
  8. Altında Uygulanan filtreler, seç dqjob etiketi ve veri kalitesi kural setlerinde kullanılan sekiz etiket (rs0, rs1, rs5, rs10, rs50, rs100, rs200 ve rs400).
    Veri kalitesi AWS Glue işlerini etiketlemek için kullanılan sekiz etiketi seçin
  9. Klinik Tamam.

Maliyet ve Kullanım raporu güncellenecektir. X ekseni, veri kalitesi kural kümesi etiketlerini kategoriler halinde gösterir. Maliyet ve kullanım AWS Maliyet Gezgini'ndeki grafik yenilenecek ve çalıştırılan en son veri kalitesine sahip ETL işlerinin ETL işine göre toplanmış toplam aylık maliyetini gösterecektir.

AWS Cost Explorer raporu, veri kalitesi AWS Glue Studio işlerinin yürütülmesiyle ilişkili maliyetleri gösterir

Temizlemek

Altyapıyı temizlemek ve ek ücretlerden kaçınmak için aşağıdaki adımları tamamlayın:

  1. Test veri kümesini depolamak için başlangıçta oluşturulan S3 klasörünü boşaltın.
  2. AWS Glue'da oluşturduğunuz ETL işlerini silin.
  3. silmek AWSGlueDataQualityPerformanceRole IAM rolü.
  4. AWS Cost Explorer'da oluşturulan özel raporu silin.

Sonuç

AWS Glue Data Quality, veri kalitesi doğrulamasını ETL ardışık düzenlerinin bir parçası olarak birleştirmenin etkili bir yolunu sunar ve artan veri hacimlerine uyum sağlayacak şekilde otomatik olarak ölçeklenir. Yerleşik veri kalitesi kural türleri, veri kalitesi kontrollerini özelleştirmek ve farklılaştırılmamış mantık uygulamak yerine verilerinizin nasıl görünmesi gerektiğine odaklanmak için çok çeşitli seçenekler sunar.

Bu kıyaslama analizinde, ortak boyutlu AWS Tutkal Veri Kalitesi kural kümelerinin ek yükünün çok az olduğunu veya hiç olmadığını, buna karşın karmaşık durumlarda maliyetin doğrusal olarak arttığını gösterdik. Ayrıca, hızlı raporlama amacıyla maliyet bilgilerinin AWS Maliyet Gezgini'nde sunulması için AWS Tutkal Veri Kalitesi işlerini nasıl etiketleyebileceğinizi de inceledik.

AWS Tutkal Veri Kalitesi: genellikle müsait AWS Glue'un mevcut olduğu tüm AWS Bölgelerinde. AWS Birleştirici Veri Kalitesi ve AWS Birleştirici Veri Kataloğu hakkında daha fazla bilgi edinin AWS Glue Data Catalog'dan AWS Glue Data Quality'ye Başlarken.


Yazarlar Hakkında


Ruben Afonso Francos
Ruben Afonso AWS'de Küresel Finansal Hizmetler Çözümleri Mimarıdır. Otomasyon ve optimizasyon tutkusuyla analitik ve AI/ML zorlukları üzerinde çalışmaktan hoşlanıyor. İşte olmadığı zamanlarda Barselona'nın alışılmışın dışında gizli noktalar bulmayı seviyor.


Kalyan Kumar Neelampudi (KK)
Kalyan Kumar Neelampudi (KK)
AWS'de Uzman İş Ortağı Çözümleri Mimarıdır (Veri Analitiği ve Üretken Yapay Zeka). Teknik danışman olarak görev yapıyor ve veri analizi ve AI/ML iş yükleri etrafında uygulamalar tasarlamak, uygulamak ve geliştirmek için çeşitli AWS iş ortaklarıyla işbirliği yapıyor. İş dışında, yerel mutfakları keşfeden ve yeni tatlar ve deneyimler keşfetmek için partneriyle birlikte seyahat eden bir badminton meraklısı ve mutfak maceracısıdır.

Gonzalo herreros
Gonzalo herreros
AWS Glue ekibinde Kıdemli Büyük Veri Mimarıdır.

spot_img

En Son İstihbarat

spot_img