Amazon SageMaker Data Wrangler'ı kullanarak makine öğrenimi için Amazon EMR'den veri hazırlayın

Kaynak Düğüm: 1768882

Veri hazırlama, makine öğrenimi (ML) ardışık düzenlerinin temel bir bileşenidir. Aslında, veri profesyonellerinin zamanlarının yaklaşık yüzde 80'ini veri hazırlamaya harcadıkları tahmin edilmektedir. Bu yoğun rekabetçi pazarda ekipler, verileri analiz etmek ve hızla daha anlamlı içgörüler elde etmek istiyor. Müşteriler, veri işleme sistemleri oluşturmak için daha verimli ve görsel yöntemler benimsiyor.

Amazon SageMaker Veri Düzenleyicisi veri bilim adamlarının herhangi bir kod yazmadan makine öğrenimi iş akışlarında verileri seçmesi, temizlemesi, özellikler oluşturması ve veri hazırlamayı otomatikleştirmesi için tek bir görsel arabirim sağlayarak veri hazırlamayı ve özellik mühendisliği sürecini basitleştirir, haftalardan dakikalara indirir. gibi birden çok veri kaynağından veri alabilirsiniz. Amazon Basit Depolama Hizmeti (Amazon S3), Amazon Atina, Amazon Kırmızıya Kaydırmave Kar Tanesi. Artık şunları da kullanabilirsiniz: Amazon EMR'si ML için verileri kolayca hazırlamak için Data Wrangler'da bir veri kaynağı olarak.

Büyük miktarda veriyi analiz etmek, dönüştürmek ve hazırlamak, herhangi bir veri bilimi ve makine öğrenimi iş akışının temel adımıdır. Veri bilimcileri gibi veri uzmanları, Apache Spark, kovan, ve çabuk hızlı veri hazırlığı için Amazon EMR'de çalışır, ancak öğrenme eğrisi diktir. Müşterilerimiz, dahili metastore veya harici metastore'daki (örn. AWS Glue Data Catalog) verileri sorgulamak ve birkaç tıklamayla verileri hazırlamak için Hive veya Presto'da ad hoc SQL sorguları çalıştırmak üzere Amazon EMR'ye bağlanabilme olanağı istiyordu.

Bu blog makalesinde, müşterilerin artık SageMaker Data Wrangler'da görsel bir deneyim kullanarak mevcut Amazon EMR kümelerini nasıl bulabilecekleri ve bunlara nasıl bağlanabilecekleri ele alınacaktır. Modellemeye veya raporlamaya hazırlanmak için veritabanını, tabloları, şemayı ve Presto sorgularını görsel olarak inceleyebilirler. Daha sonra veri kalitesini değerlendirmek, anormallikleri veya eksik veya hatalı verileri belirlemek ve bu sorunların nasıl ele alınacağına dair bilgi ve tavsiyeler almak için görsel bir arayüz kullanarak verilerin profilini hızlı bir şekilde çıkarabilirler. Ek olarak, Spark tarafından desteklenen bir düzineden fazla ek yerleşik analiz ve 300'den fazla ekstra yerleşik dönüşümün yardımıyla tek bir kod satırı yazmadan özellikleri analiz edebilir, temizleyebilir ve tasarlayabilirler.

Çözüme genel bakış 

Veri uzmanları, SageMaker Studio yapılandırmalarını kullanarak mevcut EMR kümelerini hızla bulabilir ve bunlara bağlanabilir. Ek olarak, veri uzmanları EMR kümelerini yalnızca birkaç tıklamayla sonlandırabilir. Önceden tanımlanmış şablonları kullanan ve isteğe bağlı EMR kümeleri oluşturan SageMaker Studio. Bu araçların yardımıyla, müşteriler doğrudan SageMaker Studio evrensel not defterine atlayabilir ve uygun ölçekte veri hazırlığı gerçekleştirmek için Apache Spark, Hive, Presto veya PySpark'ta kod yazabilir. Verileri hazırlamak için Spark kodu oluşturmaya yönelik dik bir öğrenme eğrisi nedeniyle, tüm veri uzmanları bu prosedürden memnun değildir. Amazon SageMaker Data Wrangler için bir veri kaynağı olarak Amazon EMR ile artık tek bir kod satırı yazmadan Amazon EMR'ye hızlı ve kolay bir şekilde bağlanabilirsiniz.

Aşağıdaki şema, bu çözümde kullanılan farklı bileşenleri temsil etmektedir.

EMR kümesiyle bağlantı kurmak için kullanılabilecek iki kimlik doğrulama seçeneği gösteriyoruz. Her seçenek için benzersiz bir yığın dağıtıyoruz AWS CloudFormation şablonlar.

CloudFormation şablonu, her bir seçenek seçildiğinde aşağıdaki eylemleri gerçekleştirir:

  • adlı bir kullanıcı profiliyle birlikte yalnızca VPC modunda bir Studio Etki Alanı oluşturur. studio-user.
  • Örnekleri başarıyla çalıştırmak için VPC, uç noktalar, alt ağlar, güvenlik grupları, EMR kümesi ve diğer gerekli kaynaklar dahil olmak üzere yapı taşları oluşturur.
  • EMR kümesi için AWS Glue Data Catalog'u EMR Hive ve Presto için meta deposu olarak bağlar, EMR'de bir Hive tablosu oluşturur ve bunu bir ABD havaalanı veri kümesindeki verilerle doldurur.
  • LDAP CloudFormation şablonu için bir Amazon Elastik Bilgi İşlem Bulutu (Amazon EC2) Hive ve Presto LDAP kullanıcısının kimliğini doğrulamak için LDAP sunucusunu barındırmak için örnek.

1. Seçenek: Hafif Erişim Dizini Protokolü

LDAP kimlik doğrulaması CloudFormation şablonu için, bir LDAP sunucusuna sahip bir Amazon EC2 eşgörünümü sağlarız ve EMR kümesini kimlik doğrulama için bu sunucuyu kullanacak şekilde yapılandırırız. Bu, TLS Etkindir.

2. Seçenek: Kimlik Doğrulaması Yok

Kimlik Doğrulamasız kimlik doğrulaması CloudFormation şablonunda, kimlik doğrulaması etkin olmayan standart bir EMR kümesi kullanıyoruz.

AWS CloudFormation ile kaynakları devreye alın

Ortamı dağıtmak için aşağıdaki adımları tamamlayın:

  1. Adresinde oturum açın AWS Yönetim Konsolu bir olarak AWS Kimlik ve Erişim Yönetimi (IAM) kullanıcı, tercihen bir yönetici kullanıcı.
  2. Klinik Yığını Başlat Uygun kimlik doğrulama senaryosu için CloudFormation şablonunu başlatmak için. CloudFormation yığınını dağıtmak için kullanılan Bölgede mevcut bir Studio Etki Alanı bulunmadığından emin olun. Bir Bölgede hali hazırda bir Studio Etki Alanınız varsa, farklı bir Bölge seçebilirsiniz.
    • LDAP Başlatma Yığını
    • Kimlik Doğrulama Başlatma Yığını Yok
  3. Klinik Sonraki.
  4. İçin Yığın adı, yığın için bir ad girin (örneğin, dw-emr-blog).
  5. Diğer değerleri varsayılan olarak bırakın.
  6. Devam etmek için seçin Sonraki yığın ayrıntıları sayfasından ve yığın seçeneklerinden. LDAP yığını aşağıdaki kimlik bilgilerini kullanır:
    • kullanıcı adı: david
    • şifre:  welcome123
  7. İnceleme sayfasında, AWS CloudFormation'ın kaynak oluşturabileceğini onaylamak için onay kutusunu seçin.
  8. Klinik Yığın oluştur. Yığının durumu değişene kadar bekleyin CREATE_IN_PROGRESS için CREATE_COMPLETE. İşlem genellikle 10-15 dakika sürer.

Not: Birden fazla yığın denemek isterseniz, lütfen Temizleme bölümündeki adımları izleyin. gerektiğini unutma SageMaker Studio Etki Alanını silin sonraki yığın başarıyla başlatılmadan önce.

Amazon EMR'yi Data Wrangler'da bir veri kaynağı olarak ayarlayın

Bu bölümde, Data Wrangler'da bir veri kaynağı olarak CloudFormation şablonu aracılığıyla oluşturulan mevcut Amazon EMR kümesine bağlanmayı ele alıyoruz.

Yeni bir veri akışı oluşturun

Veri akışınızı oluşturmak için aşağıdaki adımları tamamlayın:

  1. SageMaker konsolunda, Amazon SageMaker Stüdyosu Gezinti bölmesinde.
  2. Klinik açık stüdyo.
  3. Başlatıcı'da şunu seçin: Yeni veri akışı. Alternatif olarak, üzerinde fileto açılır menüsünden Yeni'yi ve ardından Veri Düzenleyici akışı'nı seçin.
  4. Yeni bir akış oluşturmak birkaç dakika sürebilir. Akış oluşturulduktan sonra, Tarihleri ​​içe aktar gidin.

Data Wrangler'da Amazon EMR'yi veri kaynağı olarak ekleyin

Veri kaynağı ekle menüsünde, Amazon EMR'si.

Studio yürütme rolünüzün görme izinlerine sahip olduğu tüm EMR kümelerine göz atabilirsiniz. Bir kümeye bağlanmak için iki seçeneğiniz vardır; biri etkileşimli kullanıcı arayüzü aracılığıyla, diğeri ise ilk önce AWS Secrets Manager'ı kullanarak bir sır oluşturun EMR küme bilgileri de dahil olmak üzere JDBC URL'si ile ve ardından Presto'ya bağlanmak için kullanıcı arabiriminde saklanan AWS gizli ARN'sini sağlayın. Bu blogda ilk seçeneği takip ediyoruz. Kullanmak istediğiniz aşağıdaki kümelerden birini seçin. Tıklamak SonrakiSeçin ve son noktalar.

seç presto, bağlanmak Amazon EMR, bağlantınızı tanımlamak için bir ad oluşturun ve tıklayın Sonraki.

seç Doğrulama LDAP veya Kimlik Doğrulaması Yok yazın ve tıklayın Sosyal medya.

  • Basit Dizin Erişim Protokolü (LDAP) için, kimliği doğrulanacak kullanıcı adını ve parolayı sağlayın.

  • Kimlik Doğrulaması Yok için, VPC içinde kullanıcı kimlik bilgileri sağlamadan EMR Presto'ya bağlanacaksınız. EMR için Data Wrangler'ın SQL gezgini sayfasına girin.

Bağlandıktan sonra, bir veritabanı ağacını ve tablo önizlemesini veya şemasını etkileşimli olarak görüntüleyebilirsiniz. Ayrıca EMR'den verileri sorgulayabilir, keşfedebilir ve görselleştirebilirsiniz. Önizleme için, varsayılan olarak 100 kayıtlık bir sınır görürsünüz. Özelleştirilmiş sorgu için, SQL deyimlerini sorgu düzenleyici kutusunda ve bir kez tıklattığınızda sağlayabilirsiniz. koşmak düğmesi, sorgu EMR'nin Presto motorunda yürütülecektir.

The Sorguyu iptal et düğmesi, devam eden sorguların alışılmadık derecede uzun sürüyorsa iptal edilmesini sağlar.

Son adım, içe aktarmaktır. Sorgulanan verilerle hazır olduğunuzda, verileri Data Wrangler'a içe aktarmak için örnekleme türüne (FirstK, Random veya Stratified) ve örnekleme boyutuna göre veri seçimi için örnekleme ayarlarını güncelleme seçenekleriniz olur.

Tıkla ithalat. Veri kümesine çeşitli dönüşümler ve temel analizler eklemenizi sağlayan hazırlama sayfası yüklenecektir.

Üst ekrandan DataFlow'a gidin ve dönüşümler ve analiz için gerektiği şekilde akışa daha fazla adım ekleyin. Veri kalitesi sorunlarını belirlemek ve bu sorunları düzeltmeye yönelik öneriler almak için bir veri içgörü raporu çalıştırabilirsiniz. Bazı örnek dönüşümlere bakalım.

Veri akışınıza gidin ve görmeniz gereken ekran budur. Presto konektörünü kullanarak EMR'yi veri kaynağı olarak kullandığımızı gösteriyor.

Data type'ın sağındaki + butonuna tıklayıp Add transform'u seçelim. Bunu yaptığınızda, aşağıdaki ekran açılmalıdır:

Verileri inceleyelim. gibi bir çok özelliğe sahip olduğunu görmekteyiz. iata_kodu, havaalanı, Şehir, belirtmek, bildirmek, ülke, enlem, ve boylam. Tüm veri kümesinin tek bir ülkede, yani ABD'de bulunduğunu ve Enlem ve Boylam'da eksik değerler olduğunu görebiliriz. Eksik veriler, parametrelerin tahmininde yanlılığa neden olabilir ve örneklerin temsil edilebilirliğini azaltabilir, bu nedenle bazı işlemler yapmamız gerekir. atama ve veri kümemizdeki eksik değerleri işleyin.

üzerine tıklayalım Adım Ekle sağdaki gezinti çubuğundaki düğme. Seçme Kolu eksik. Yapılandırmalar aşağıdaki ekran görüntülerinde görülebilir. Altında Dönüşüm, seçmek Atfetmek. Sütun türünü şu şekilde seçin: Sayısal ve sütun adları Enlem ve Boylam. Yaklaşık bir medyan değeri kullanarak eksik değerleri atfedeceğiz. Dönüşümü önizleyin ve ekleyin.

Şimdi başka bir örnek dönüşüme bakalım. Bir makine öğrenimi modeli oluştururken, sütunlar gereksizse veya modelinize yardımcı olmuyorsa kaldırılır. Bir sütunu kaldırmanın en yaygın yolu onu bırakmaktır. Veri kümemizde, özellik ülke veri kümesi özellikle ABD havaalanı verileri için olduğundan bırakılabilir. Sütunları nasıl yönetebileceğimizi görelim. Hadi tıklayalım Adım ekle sağdaki gezinti çubuğundaki düğme. Seçme Sütunları yönet. Yapılandırmalar aşağıdaki ekran görüntülerinde görülebilir. Altında Dönüştürmekseçin Sütunu bırak, ve altında Bırakılacak sütunlarseçin Ülke.

Veri kümeniz için gereken farklı dönüşümlere dayalı adımlar eklemeye devam edebilirsiniz. Veri akışımıza geri dönelim. Şimdi gerçekleştirdiğimiz dönüşümleri gösteren iki blok daha göreceksiniz. Senaryomuzda görebilirsiniz Atfetmek ve Sütunu bırak.

Makine öğrenimi uygulayıcıları, özellik mühendisliği kodunu hazırlamak, bunu ilk veri kümelerine uygulamak, tasarlanmış veri kümelerinde modelleri eğitmek ve model doğruluğunu değerlendirmek için çok zaman harcıyor. Bu çalışmanın deneysel doğası göz önüne alındığında, en küçük proje bile birden çok yinelemeye yol açacaktır. Aynı özellik mühendisliği kodu genellikle tekrar tekrar çalıştırılır ve aynı işlemleri tekrarlamak için zaman ve bilgi işlem kaynakları harcanır. Büyük kuruluşlarda bu, daha da büyük bir üretkenlik kaybına neden olabilir çünkü farklı ekipler genellikle aynı işleri yürütür ve hatta daha önceki çalışmaları hakkında bilgileri olmadığı için yinelenen özellik mühendisliği kodu yazar. Özelliklerin yeniden işlenmesini önlemek için şimdi dönüştürülen özelliklerimizi dışa aktaracağız. Amazon Özellik Mağazası. Hadi tıklayalım + düğmesinin sağında Sütunu bırak. Seçmek İhracat Ve seç Sagemaker Özellik Mağazası (Jupyter not defteri aracılığıyla).

Oluşturduğunuz özellikleri kolayca dışa aktarabilirsiniz. SageMaker Özellik Mağazası hedef olarak seçerek. Unsurları mevcut bir özellik grubuna kaydedebilir veya yeni bir tane oluşturabilirsiniz.

Artık Data Wrangler ile özellikler oluşturduk ve bu özellikleri kolayca Feature Store'da sakladık. Data Wrangler kullanıcı arabiriminde özellik mühendisliği için örnek bir iş akışı gösterdik. Ardından, yeni bir özellik grubu oluşturarak bu özellikleri doğrudan Data Wrangler'dan Feature Store'a kaydettik. Son olarak, bu özellikleri Feature Store'a almak için bir işleme işi yürüttük. Data Wrangler ve Feature Store birlikte, minimum kodlama gereksinimiyle veri hazırlama görevlerimizi düzene sokmak için otomatik ve tekrarlanabilir süreçler oluşturmamıza yardımcı oldu. Data Wrangler, aynı veri hazırlama akışını kullanarak otomatikleştirme esnekliği de sağlar. zamanlanmış işler. Ayrıca SageMaker Pipelines (Jupyter Notebook aracılığıyla) ile eğitimi veya özellik mühendisliğini otomatikleştirebilir ve SageMaker çıkarım ardışık düzeni (Jupyter Notebook aracılığıyla) ile Inference uç noktasına konuşlandırabiliriz.

Temizlemek

Data Wrangler ile işiniz bittiyse CloudFormation sayfasından oluşturulan stack'i seçin ve ek ücret ödememek için silin.

Sonuç

Bu gönderide, Data Wrangler'da bir veri kaynağı olarak Amazon EMR'yi nasıl kuracağımızı, bir veri kümesini nasıl dönüştürüp analiz edeceğimizi ve sonuçları bir Jupyter not defterinde kullanmak üzere bir veri akışına nasıl aktaracağımızı inceledik. Data Wrangler'ın yerleşik analitik özelliklerini kullanarak veri kümemizi görselleştirdikten sonra veri akışımızı daha da geliştirdik. Tek bir kod satırı yazmadan bir veri hazırlama işlem hattı oluşturmuş olmamız önemlidir.

Data Wrangler'ı kullanmaya başlamak için bkz. Amazon SageMaker Data Wrangler ile ML Verilerini Hazırlayınve hakkındaki en son bilgileri görün. Data Wrangler ürün sayfası.


yazarlar hakkında

Ajjay Govindaram AWS'de Kıdemli Çözüm Mimarıdır. Karmaşık iş sorunlarını çözmek için AI/ML kullanan stratejik müşterilerle çalışıyor. Tecrübesi, orta ila büyük ölçekli AI/ML uygulama devreye alımları için teknik yönlendirme ve tasarım yardımı sağlamada yatmaktadır. Bilgisi, uygulama mimarisinden büyük veriye, analitiğe ve makine öğrenimine kadar uzanıyor. Dinlenirken müzik dinlemekten, dışarıyı deneyimlemekten ve sevdikleriyle vakit geçirmekten hoşlanır.

yatsı duası San Francisco Körfez Bölgesi'nde yerleşik bir Kıdemli Çözüm Mimarıdır. AWS kurumsal müşterilerinin hedeflerini ve zorluklarını anlayarak büyümelerine yardımcı olur ve uygulamalarını esnek ve ölçeklenebilir olmalarını sağlarken bulutta yerel bir şekilde nasıl tasarlayabilecekleri konusunda onlara rehberlik eder. Makine öğrenimi teknolojileri ve çevresel sürdürülebilirlik konusunda tutkulu.

Rui Jiang New York City bölgesinde bulunan AWS'de bir Yazılım Geliştirme Mühendisidir. AWS kurumsal müşterilerinin iş ihtiyaçlarını karşılamaları için mühendislik çözümleri geliştirmeye yardımcı olan SageMaker Data Wrangler ekibinin bir üyesidir. İş dışında yeni yiyecekler keşfetmekten, yaşam kondisyonundan, açık hava aktivitelerinden ve seyahat etmekten hoşlanıyor.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi