Sunucusuz AWS Glue etkileşimli oturumları PlatoBlockchain Data Intelligence'ı kullanarak Amazon SageMaker Studio'da verileri uygun ölçekte hazırlayın. Dikey Arama. Ai.

Sunucusuz AWS Glue etkileşimli oturumlarını kullanarak Amazon SageMaker Studio'da verileri uygun ölçekte hazırlayın

Amazon SageMaker Stüdyosu makine öğrenimi (ML) için ilk tam entegre geliştirme ortamıdır (IDE). Veri hazırlama ve model oluşturma, eğitim ve dağıtma dahil olmak üzere tüm ML geliştirme adımlarını gerçekleştirebileceğiniz tek, web tabanlı bir görsel arabirim sağlar.

AWS Tutkal analitik, makine öğrenimi ve uygulama geliştirme için verileri keşfetmeyi, hazırlamayı ve birleştirmeyi kolaylaştıran sunucusuz bir veri entegrasyon hizmetidir. AWS Glue, çeşitli özellikleri kullanarak veri göllerinizde ve veri ardışık düzenlerinizde sorunsuz bir şekilde veri toplamanıza, dönüştürmenize, temizlemenize ve depolama için hazırlamanıza olanak tanır. yerleşik dönüşümler.

Veri mühendisleri ve veri bilimcileri, Studio dizüstü bilgisayarlarının AWS Glue tarafından yönetilen sunucusuz Spark oturumlarıyla yerleşik entegrasyonunu kullanarak artık verileri etkileşimli olarak uygun ölçekte hazırlayabilir. Saniyeler içinde başlama ve boştayken işlemi otomatik olarak durdurma, AWS Glue etkileşimli oturumları Studio içinde ölçeklenebilir veri hazırlığı elde etmek için isteğe bağlı, yüksek düzeyde ölçeklenebilir, sunucusuz bir Spark arka ucu sağlayın. AWS Glue etkileşimli oturumlarını Studio not defterlerinde kullanmanın dikkate değer avantajları arasında şunlar yer alır:

  • Sağlanacak veya yönetilecek küme yok
  • Ödenecek boş küme yok
  • Önceden yapılandırma gerekmez
  • Aynı geliştirme ortamı için kaynak çekişmesi yok
  • AWS Glue ayıklama, dönüştürme ve yükleme (ETL) işleriyle aynı sunucusuz Spark çalışma zamanı ve platformu

Bu gönderide, sunucusuz AWS Glue etkileşimli oturumlarını kullanarak Studio'da nasıl uygun ölçekte veri hazırlayacağınızı gösteriyoruz.

Çözüme genel bakış

Bu çözümü uygulamak için aşağıdaki üst düzey adımları tamamlarsınız:

  1. Güncelleyin AWS Kimlik ve Erişim Yönetimi (IAM) rol izinleri.
  2. Bir AWS Glue etkileşimli oturum çekirdeği başlatın.
  3. Etkileşimli oturumunuzu yapılandırın.
  4. Etkileşimli oturumunuzu özelleştirin ve ölçeklenebilir bir veri hazırlama iş yükü çalıştırın.

IAM rolü izinlerinizi güncelleyin

Başlamak için Studio kullanıcınızın IAM yürütme rolünü gerekli izinlerle güncellemeniz gerekir. Ayrıntılı talimatlar için bkz. SageMaker Studio'da Glue etkileşimli oturumları için izinler.

Önce yönetilen ilkeleri yürütme rolünüze eklersiniz:

  1. IAM konsolunda, Roller Gezinti bölmesinde.
  2. Kullanacağınız Studio yürütme rolünü bulun ve rol özeti sayfasına gitmek için rol adını seçin.
  3. Üzerinde İzinler sekmesinde, İzinleri Ekle menü seç Politikaları ekleyin.
  4. Yönetilen politikaları seçin AmazonSageMakerFullAccess ve AwsGlueSessionUserRestrictedServiceRole
  5. Klinik Politikaları ekleyin.
    Özet sayfası, yeni eklenen yönetilen ilkelerinizi gösterir. Artık özel bir ilke ekleyip yürütme rolünüze iliştirebilirsiniz.
  6. Üzerinde İzinleri Ekle menü seç Satır içi politika oluştur.
  7. Üzerinde JSON sekmesinde aşağıdaki politikayı girin:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "iam:GetRole",
                    "iam:PassRole",
                    "sts:GetCallerIdentity"
                ],
                "Resource": "*"
            }
        ]
    }

  8. Rolünüzün güven ilişkisini değiştirin:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "glue.amazonaws.com",
                        "sagemaker.amazonaws.com"
                    ]
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }

Bir AWS Glue etkileşimli oturum çekirdeği başlatın

Studio alanınızda zaten mevcut kullanıcılarınız varsa, bunlara sahip olmanız gerekebilir kapatın ve Jupyter Sunucusunu yeniden başlatın yeni dizüstü bilgisayar çekirdeği görüntülerini almak için.

Yeniden yükledikten sonra yeni bir Studio not defteri oluşturabilir ve tercih ettiğiniz çekirdeği seçin. Yerleşik SparkAnalytics 1.0 görüntü şimdi mevcut olmalıdır ve tercih ettiğiniz AWS Glue çekirdeğini seçebilirsiniz (Tutkal Scala Kıvılcımı or Tutkal PySpark).

Etkileşimli oturumunuzu yapılandırın

AWS Glue etkileşimli oturumunuzu başlatmadan önce notebook hücre büyüleriyle kolayca yapılandırabilirsiniz. Sihirler, Jüpyter hücrelerinin başında % ile ön eki eklenen ve ortamı kontrol etmek için kısayollar sağlayan küçük komutlardır. AWS Glue etkileşimli oturumlarında, aşağıdakiler dahil tüm yapılandırma ihtiyaçları için sihirler kullanılır:

  • %bölge – Bir oturumun başlatılacağı AWS Bölgesi. Varsayılan, Studio Bölgesi'dir.
  • %iam_role – Oturumunuzu çalıştırmak için ARN IAM rolü. Varsayılan, kullanıcının SageMaker yürütme rolüdür.
  • %worker_type - AWS Glue çalışan türü. Varsayılan standarttır.
  • %çalışan sayısı – Bir iş çalıştığında tahsis edilen işçi sayısı. Varsayılan değer beştir.
  • %idle_timeout – Bir oturumun zaman aşımına uğrayacağı süre boyunca hareketsizlik dakikalarının sayısı. Varsayılan 2,880 dakikadır.
  • %additional_python_modules – Kümenize dahil edilecek ek Python modüllerinin virgülle ayrılmış listesi. Bu PyPi'den olabilir veya Amazon Basit Depolama Hizmeti (Amazon S3).
  • %%yapılandır – Aşağıdakilerden oluşan JSON biçimli bir sözlük AWS Glue'a özgü yapılandırma parametreleri bir seans için.

Bu çekirdeğe yönelik yapılandırılabilir sihirli parametrelerin kapsamlı bir listesi için %help defterinizdeki sihir.

AWS Glue etkileşimli oturumunuz, sihirli olmayan ilk hücre çalıştırılana kadar başlamaz.

Etkileşimli oturumunuzu özelleştirin ve bir veri hazırlama iş yükü çalıştırın

Örnek olarak, aşağıdaki not defteri hücreleri, AWS Glue etkileşimli oturumunuzu nasıl özelleştirebileceğinizi ve ölçeklenebilir bir veri hazırlama iş yükünü nasıl çalıştırabileceğinizi gösterir. Bu örnekte, belirli bir şehir için günün saatine göre gruplandırarak hava kalitesi verilerini toplamak için bir ETL görevi gerçekleştiriyoruz.

Oturumumuzu, bu gönderide daha sonra göreceğimiz gerçek zamanlı hata ayıklama için Spark günlüklerimizi bir S3 kovasına kaydedecek şekilde yapılandırıyoruz. emin olun iam_role AWS Glue oturumunuzu çalıştıran, belirtilen S3 kovasına yazma erişimine sahiptir.

%help

%session_id_prefix air-analysis-
%glue_version 3.0
%idle_timeout 60
%%configure
{
"--enable-spark-ui": "true",
"--spark-event-logs-path": "s3://<BUCKET>/gis-spark-logs/"
}

Ardından, veri kümemizi doğrudan Amazon S3'ten yüklüyoruz. Alternatif olarak, AWS Tutkal Veri Kataloğunuzu kullanarak verileri yükleyin.

from pyspark.sql.functions import split, lower, hour
print(spark.version)
day_to_analyze = "2022-01-05"
df = spark.read.json(f"s3://openaq-fetches/realtime-gzipped/{day_to_analyze}/1641409725.ndjson.gz")
df_air = spark.read.schema(df.schema).json(f"s3://openaq-fetches/realtime-gzipped/{day_to_analyze}/*")

Son olarak, dönüştürülmüş veri kümemizi tanımladığımız bir çıktı kova konumuna yazıyoruz:

df_city = df_air.filter(lower((df_air.city)).contains('delhi')).filter(df_air.parameter == "no2").cache()
df_avg = df_city.withColumn("Hour", hour(df_city.date.utc)).groupBy("Hour").avg("value").withColumnRenamed("avg(value)", "no2_avg")
df_avg.sort("Hour").show()

# Examples of reading / writing to other data stores: 
# https://github.com/aws-samples/aws-glue-samples/tree/master/examples/notebooks

df_avg.write.parquet(f"s3://<BUCKET>/{day_to_analyze}.parquet")

Çalışmanızı tamamladıktan sonra, Studio notebook çekirdeğini kapatarak AWS Glue etkileşimli oturumunuzu hemen sonlandırabilir veya %stop_session büyü.

Hata Ayıklama ve Spark Kullanıcı Arayüzü

Önceki örnekte belirttiğimiz ”--enable-spark-ui”: “true” argüman ile birlikte "--spark-event-logs-path": location. Bu, AWS Glue işimizi gerçek zamanlı olarak izlemek ve hatalarını ayıklamak için bir Spark UI kullanabilmemiz için oturum günlüklerini kaydedecek şekilde AWS Glue oturumumuzu yapılandırır.

Bu Spark günlüklerini başlatma ve okuma süreci için bkz. Spark geçmiş sunucusunu başlatma. Aşağıdaki ekran görüntüsünde, günlüklerimizi içeren S3 paketini okuma iznine sahip yerel bir Docker kapsayıcısını başlattık. İsteğe bağlı olarak, bir Amazon Elastik Bilgi İşlem Bulutu (Amazon EC2) örneği, önceki bağlantılı belgelerde açıklandığı gibi bunu yapmak için.

Sunucusuz AWS Glue etkileşimli oturumları PlatoBlockchain Data Intelligence'ı kullanarak Amazon SageMaker Studio'da verileri uygun ölçekte hazırlayın. Dikey Arama. Ai.

Fiyatlandırma

Studio not defterlerinde AWS Glue etkileşimli oturumlarını kullandığınızda, AWS Glue ve Studio not defterlerinde kaynak kullanımı için ayrıca ücretlendirilirsiniz.

AWS, oturumun ne kadar süreyle etkin olduğuna ve kullanılan Veri İşleme Birimlerinin (DPU) sayısına bağlı olarak AWS Glue etkileşimli oturumları için ücret alır. İş yüklerinizi çalıştırmak için kullanılan DPU sayısı için saatlik ücret ödersiniz ve 1 saniyelik artışlarla faturalandırılırsınız. AWS Glue etkileşimli oturumları varsayılan olarak 5 DPU atar ve en az 2 DPU gerektirir. Ayrıca her etkileşimli oturum için minimum 1 dakikalık faturalandırma süresi vardır. AWS Glue ücretlerini ve fiyatlandırma örneklerini görmek veya AWS Fiyatlandırma Hesaplayıcısını kullanarak maliyetlerinizi tahmin etmek için bkz. AWS Tutkal fiyatlandırması.

Studio dizüstü bilgisayarınız bir EC2 bulut sunucusunda çalışır ve kullanım süresine göre seçtiğiniz bulut sunucusu türü için ücretlendirilirsiniz. Seçtiğinizde, Studio size varsayılan bir EC2 bulut sunucusu tipi ml-t3-medium atar. SparkAnalytics görüntü ve ilişkili çekirdek. Studio not defterinizin örnek türünü iş yükünüze uyacak şekilde değiştirebilirsiniz. SageMaker Studio fiyatlandırması hakkında bilgi için bkz. Amazon SageMaker Fiyatlandırması.

Sonuç

Studio dizüstü bilgisayarların AWS Glue etkileşimli oturumlarıyla yerel entegrasyonu, veri bilimcileri ve veri mühendisleri için sorunsuz ve ölçeklenebilir sunucusuz veri hazırlamayı kolaylaştırır. Bu yeni işlevi Studio'da denemenizi öneririz!

Yerimizi AWS Glue Interactive Sessions kullanarak Verileri Hazırlayın daha fazla bilgi için.


yazarlar hakkında

Sean MorganSean Morgan AWS'de Kıdemli ML Çözümleri Mimarıdır. Yarı iletken ve akademik araştırma alanlarında deneyimi vardır ve bu deneyimini müşterilerin AWS'deki hedeflerine ulaşmalarına yardımcı olmak için kullanır. Sean boş zamanlarında bir etkinleştirme açık kaynak katılımcısı/koruyucusu ve TensorFlow Eklentileri için özel ilgi grubu lideridir.

Sunucusuz AWS Glue etkileşimli oturumları PlatoBlockchain Data Intelligence'ı kullanarak Amazon SageMaker Studio'da verileri uygun ölçekte hazırlayın. Dikey Arama. Ai.Sümeyye Swamy Amazon Web Services'de Baş Ürün Müdürüdür. SageMaker Studio ekibini, etkileşimli veri bilimi ve veri mühendisliği iş akışları için tercih edilen IDE'ye yerleştirmek üzere yönetiyor. Son 15 yılını Machine Learning kullanarak müşteri takıntılı tüketici ve kurumsal ürünler inşa ederek geçirdi. Boş zamanlarında Güneybatı Amerika'nın muhteşem jeolojisini fotoğraflamayı seviyor.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi