Zephyrnet Logosu

Yeni iş gözlemlenebilirlik ölçümlerini kullanarak AWS Glue işleri için izleme ve hata ayıklamayı iyileştirin | Amazon Web Hizmetleri

Tarih:

Veriye dayalı herhangi bir modern şirket için sorunsuz veri entegrasyon hatlarına sahip olmak çok önemlidir. Bu işlem hatları verileri çeşitli kaynaklardan çeker, dönüştürür ve analiz ve raporlama için hedef sistemlere yükler. Düzgün çalıştığında zamanında ve güvenilir bilgi sağlar. Ancak dikkatli olunmadığı takdirde değişen veri hacimleri, özellikler ve uygulama davranışı veri hatlarının verimsiz ve sorunlu hale gelmesine neden olabilir. Performans yavaşlayabilir veya işlem hatları güvenilmez hale gelebilir. Tespit edilemeyen hatalar kötü verilere neden olur ve aşağı yöndeki analizleri etkiler. Bu nedenle, aşağıdaki dört alanda veri hatları için sağlam izleme ve sorun giderme önemlidir:

  • Güvenilirlik
  • Performans
  • çıktı
  • Kaynak kullanımı

İzlemenin bu dört yönü birlikte, bir veri hattı ve operasyonları üzerinde uçtan uca görünürlük ve kontrol sağlar.

Bugün yeni bir sınıfı duyurmaktan mutluluk duyuyoruz. Amazon Bulut İzleme üzerine inşa edilen ardışık düzenlerinizle raporlanan metrikler AWS Tutkal Apache Spark işleri için. Yeni ölçümler, iş çalıştırmalarınızın durumu ve operasyonları ile işlenen verilere ilişkin toplu ve ayrıntılı bilgiler sağlar. Ölçümler, anlaşılır gösterge tabloları sağlamanın yanı sıra, hataların sınıflandırılmasını da sağlar; bu da performans darboğazlarının temel neden analizine ve hata teşhisine yardımcı olur. Bu analizle, işlerinizi ve işlem hatlarınızı tasarlamak için önerilen düzeltmeleri ve en iyi uygulamaları değerlendirebilir ve uygulayabilirsiniz. Sonuç olarak, AWS Glue for Apache Spark iş yükünüz için daha yüksek kullanılabilirlik, daha iyi performans ve daha düşük maliyet avantajlarından yararlanırsınız.

Bu gönderi, yeni geliştirilmiş ölçümlerin AWS Glue işlerini izlemenize ve hatalarını ayıklamanıza nasıl yardımcı olduğunu gösterir.

Yeni metrikleri etkinleştirin

Yeni metrikler iş parametresi aracılığıyla yapılandırılabilir enable-observability-metrics.

Yeni ölçümler AWS Glue Studio konsolunda varsayılan olarak etkindir. AWS Glue Studio konsolundaki ölçümleri yapılandırmak için aşağıdaki adımları tamamlayın:

  1. AWS Glue konsolunda seçin ETL işleri Gezinti bölmesinde.
  2. Altında İşleriniz, işinizi seçin.
  3. Üzerinde İş detayları sekme, genişlet Gelişmiş özellikler.
  4. Altında İş gözlemlenebilirliği metrikleriseçin Bu iş çalıştırıldığında ek gözlemlenebilirlik CloudWatch ölçümlerinin oluşturulmasını etkinleştirin.

AWS Glue'daki yeni ölçümleri etkinleştirmek için CreateJob ve StartJobRun API'ler için aşağıdaki parametreleri ayarlayın: DefaultArguments özelliği:

  • anahtar - --enable-observability-metrics
  • Özellik - true

Yeni metrikleri etkinleştirmek için AWS Komut Satırı Arayüzü (AWS CLI), aynı iş parametrelerini --default-arguments argüman.

Kullanım örneği

AWS Glue for Apache Spark işlerinin tipik bir iş yükü, verileri SQL tabanlı dönüşümlerle ilişkisel bir veritabanından veri gölüne yüklemektir. Aşağıda işçi sayısının 10 olduğu örnek bir işin görsel temsili bulunmaktadır.

Örnek iş çalıştırıldığında, workerUtilization metrikler aşağıdaki eğilimi gösterdi.

Bunu not et workerUtilization tüm süre boyunca 0.20 (%20) ile 0.40 (%40) arasında değerler gösterdi. Bu durum genellikle iş kapasitesinin aşırı sağlandığı ve Spark uygulayıcılarının çoğunun boşta olduğu ve gereksiz maliyete yol açtığı durumlarda meydana gelir. Kaynak kullanım verimliliğini artırmak için aşağıdakileri etkinleştirmek iyi bir fikirdir: AWS Glue Otomatik Ölçeklendirme. Aşağıdaki ekran görüntüsü aynı şeyi gösterir workerUtilization Aynı iş için AWS Glue Auto Scaling etkinleştirildiğinde ölçüm grafiği.

workerUtilization AWS Glue Auto Scaling nedeniyle başlangıçta 1.0 gösterdi ve iş yükü gereksinimlerine göre 0.75 (%75) ile 1.0 (%100) arasında bir trend izledi.

CloudWatch'ta ölçümleri sorgulama ve görselleştirme

CloudWatch konsolunda ölçümleri sorgulamak ve görselleştirmek için aşağıdaki adımları tamamlayın:

  1. CloudWatch konsolunda seçin Tüm ölçümler Gezinti bölmesinde.
  2. Altında Özel ad alanları, seçmek Tutkal.
  3. Klinik Gözlemlenebilirlik Metrikleri (Ya da Kaynak Başına Gözlemlenebilirlik Metrikleriya da Havuz Başına Gözlemlenebilirlik Metrikleri).
  4. Belirli metrik adını, iş adını, iş çalıştırma kimliğini ve gözlemlenebilirlik grubunu arayın ve seçin.
  5. Üzerinde Grafikli metrikler sekmesinde tercih ettiğiniz istatistiği, dönemi vb. yapılandırın.

AWS CLI'yi kullanarak ölçümleri sorgulama

AWS CLI kullanarak sorgulama yapmak için aşağıdaki adımları tamamlayın (bu örnekte çalışan kullanım metriğini sorguluyoruz):

  1. Bir metrik tanımı JSON dosyası oluşturun (AWS Glue iş adınızı ve iş çalıştırma kimliğinizi sağlayın):
    $ cat multiplequeries.json
    [
      {
        "Id": "avgWorkerUtil_0",
        "MetricStat" : {
          "Metric" : {
            "Namespace": "Glue",
            "MetricName": "glue.driver.workerUtilization",
            "Dimensions": [
              {
                  "Name": "JobName",
                  "Value": "<your-Glue-job-name-A>"
              },
              {
                "Name": "JobRunId",
                "Value": "<your-Glue-job-run-id-A>"
              },
              {
                "Name": "Type",
                "Value": "gauge"
              },
              {
                "Name": "ObservabilityGroup",
                "Value": "resource_utilization"
              }
            ]
          },
          "Period": 1800,
          "Stat": "Minimum",
          "Unit": "None"
        }
      },
      {
          "Id": "avgWorkerUtil_1",
          "MetricStat" : {
          "Metric" : {
            "Namespace": "Glue",
            "MetricName": "glue.driver.workerUtilization",
            "Dimensions": [
               {
                 "Name": "JobName",
                 "Value": "<your-Glue-job-name-B>"
               },
               {
                 "Name": "JobRunId",
                 "Value": "<your-Glue-job-run-id-B>"
               },
               {
                 "Name": "Type",
                 "Value": "gauge"
               },
               {
                 "Name": "ObservabilityGroup",
                 "Value": "resource_utilization"
               }
            ]
          },
          "Period": 1800,
          "Stat": "Minimum",
          "Unit": "None"
        }
      }
    ]

  2. Çalıştır get-metric-data komut:
    $ aws cloudwatch get-metric-data --metric-data-queries file://multiplequeries.json 
         --start-time '2023-10-28T18:20' 
         --end-time '2023-10-28T19:10'  
         --region us-east-1
    {
        "MetricDataResults": [
          {
             "Id": "avgWorkerUtil_0",
             "Label": "<your label A>",
             "Timestamps": [
                   "2023-10-28T18:20:00+00:00"
             ], 
             "Values": [
                   0.06718750000000001
             ],
             "StatusCode": "Complete"
          },
          {
             "Id": "avgWorkerUtil_1",
             "Label": "<your label B>",
             "Timestamps": [
                  "2023-10-28T18:20:00+00:00"
              ],
              "Values": [
                  0.5959183673469387
              ],
              "StatusCode": "Complete"
           }
        ],
        "Messages": []
    }

CloudWatch alarmı oluşturun

Farklı ölçümler için statik eşiğe dayalı alarmlar oluşturabilirsiniz. Talimatlar için bkz. Statik eşiğe dayalı bir CloudWatch alarmı oluşturun.

Örneğin çarpıklık için alarm ayarlayabilirsiniz. skewness.stage 1.0 eşiğiyle ve skewness.job 0.5 eşik ile. Bu eşik yalnızca bir öneridir; eşiği özel kullanım durumunuza göre ayarlayabilirsiniz (örneğin, bazı işlerin çarpık olması beklenir ve bu endişe edilecek bir sorun değildir). Önerimiz, anormal değerleri nitelendirmeden ve alarm eşiklerini yapılandırmadan önce, iş çalıştırmalarınızın metrik değerlerini bir süre değerlendirmenizdir.

Diğer geliştirilmiş ölçümler

AWS Glue işlerinde kullanılabilen diğer gelişmiş ölçümlerin tam listesi için bkz. AWS Glue Observability ölçümleriyle izleme. Bu ölçümler, kaynak kullanımı (bellek ve disk), derleme ve sözdizimi gibi normalleştirilmiş hata sınıfları, kullanıcı veya hizmet hataları ve her kaynak veya havuz (kayıtlar, dosyalar, bölümler) için aktarım hızı gibi işlerinizin operasyonel öngörülerini yakalamanıza olanak tanır. ve okunan veya yazılan bayt sayısı).

İş gözlemlenebilirliği kontrol panelleri

kullanarak gerçek zamanlı izlemeyi mümkün kılan içgörü ölçümlerine yönelik kontrol panellerini kullanarak AWS Glue işlerinizin gözlemlenebilirliğini daha da basitleştirebilirsiniz. Amazon Tarafından Yönetilen Grafanave trendlerin görselleştirilmesine ve analizine olanak tanır Amazon QuickSight.

Sonuç

Bu gönderi, yeni geliştirilmiş CloudWatch ölçümlerinin AWS Glue işlerini izlemenize ve hatalarını ayıklamanıza nasıl yardımcı olduğunu gösterdi. Bu gelişmiş ölçümlerle sorunları gerçek zamanlı olarak daha kolay tanımlayabilir ve giderebilirsiniz. Bu, daha yüksek çalışma süresi, daha hızlı işleme ve daha az harcama sağlayan AWS Glue işleriyle sonuçlanır. Nihai avantajınız ise Apache Spark iş yükleri için daha etkili ve optimize edilmiş AWS Glue'dur. Ölçümler AWS Glue'nun desteklendiği tüm Bölgelerde mevcuttur. Buna bir bak!


Yazarlar Hakkında

Noritaka Sekiyama AWS Glue ekibinde Baş Büyük Veri Mimarıdır. Müşterilere yardımcı olmak için yazılım yapıları oluşturmaktan sorumludur. Boş zamanlarında yeni yol bisikletiyle bisiklete binmekten keyif alıyor.

Shenoda Guirguis AWS Glue ekibinde Kıdemli Yazılım Geliştirme Mühendisidir. Tutkusu ölçeklenebilir ve dağıtılmış Veri Altyapısı/İşleme Sistemleri oluşturmaktır. Shenoda fırsat bulduğunda kitap okumaktan ve futbol oynamaktan hoşlanıyor.

Sean Anne AWS Glue ekibinde Baş Ürün Yöneticisidir. Kullanıcılar için verinin gücünü açığa çıkaran kurumsal ürünler geliştirme ve sunma konusunda 18 yılı aşkın bir geçmişe sahiptir. Sean, iş dışında tüplü dalış ve kolej futbolu ile ilgileniyor.

Mohit Saxena AWS Glue ekibinde Kıdemli Yazılım Geliştirme Yöneticisidir. Ekibi, etkileşimli ve kullanımı basit arayüzlere sahip müşterilerin Amazon S3'teki veri gölleri, buluttaki veritabanları ve veri ambarları genelinde petabaytlarca veriyi verimli bir şekilde yönetmelerini ve sorunsuz bir şekilde dönüştürmelerini sağlamak için dağıtılmış sistemler oluşturmaya odaklanıyor.

spot_img

En Son İstihbarat

spot_img