Amazon EMR’de Apache Spark

Neden EMR'de Apache Spark?

Amazon EMR, Apache Spark'ı çalıştırmak için en iyi yerdir. AWS Management Console, AWS CLI veya Amazon EMR API ile hızla ve kolayca yönetilen Spark kümeleri oluşturabilirsiniz. Ayrıca Amazon EMR Dosya Sistemi (EMRFS) ile hızlı Amazon S3 bağlantısı, Amazon EC2 Spot market ve AWS Glue Veri Kataloğu entegrasyonu ile kümenizde bulut sunucusu ekleme veya kaldırma işlemleri için EMR ile Yönetilen Ölçeklendirme gibi ek Amazon EMR özelliklerinden faydalanabilirsiniz. AWS Step Functions entegrasyonu, veri işlem hatlarınızı düzenlemenize yardımcı olurken AWS Lake Formation, ayrıntılı erişim denetimi sağlar. EMR Stüdyosu (önizleme), veri bilimcilerin ve veri mühendislerinin R, Python, Scala ve PySpark dillerinde yazılan veri mühendisliği ve veri bilimi uygulamalarını geliştirmelerini, görselleştirmelerini ve ayıklamalarını kolaylaştıran bir entegre geliştirme ortamıdır (IDE). EMR Studio, veri ayıklama işlemini sadeleştirmek için tam yönetimli Jupyter Notebook’ları ve Spark UI ve YARN Timeline Service gibi araçları sunmaktadır. EMR Not Defterleri, Spark ile uygulamalar denemenizi ve oluşturmanızı kolaylaştırır. Dilerseniz Spark ile veri keşfi için etkileşimli ve ortak çalışmaya uygun not defterleri oluşturmak üzere Apache Zeppelin'i kullanabilirsiniz.

Apache Spark hakkında buradan daha fazla bilgi edinin

Özellikler ve avantajlar

Amazon EMR kümelerinde varsayılan olarak aktif olan Apache Spark için performans için optimize edilmiş bir çalışma zamanı ortamı olan Apache Spark için Amazon EMR çalışma zamanı, EMR bünyesinde yer almaktadır. Amazon EMR runtime for Apache Spark, EMR çalışma süresi olmayan kümelerden üç kat daha hızlı olabilmektedir ve standart Apache Spark ile %100 API uyumluluğuna sahiptir. Bu iyileştirilmiş performans, uygulamalarınızda hiçbir değişiklik yapmadan iş yüklerinizin daha hızlı çalıştırılacağı ve işlem maliyetinden tasarruf edeceğiniz anlamına gelir.

Spark, döngüsel olmayan yönlü graf (DAG) yürütme altyapısı kullanarak veri dönüştürme için verimli sorgu planları oluşturabilir. Spark aynı zamanda giriş, çıkış ve ara verileri bellek içinde dayanıklı veri çerçeveleri olarak depolar ve bu sayede G/Ç maliyeti olmadan hızlı işlem gerçekleştirilmesini sağlayarak yinelemeli veya etkileşimli iş yüklerinin performansını artırır.

Apache Spark tarafından sunulan yerel Java, Scala, SQL ve Python desteği sayesinde uygulamalarınızı oluşturmak için farklı programlama dili seçeneklerinden faydalanabilirsiniz. Ayrıca Spark SQL modülünü kullanarak SQL veya HiveQL sorgusu da gönderebilirsiniz. Uygulama çalıştırmaya ek olarak Spark API’sini doğrudan kümenizdeki Spark kabuğunda, EMR Stüdyosu aracılığıyla veya Jupyter not defterleri üzerinden Python veya Scala ile etkileşimli bir şekilde kullanabilirsiniz. EMR 6.0'da Apache Hadoop 3.0 desteği, bağımlılıkları yönetmeyi basitleştirmek için Docker container'ı desteği getiriyor. Ayrıca kümeden bağımsız EMR Notebooks'tan (Jupyter'ı temel alır) yararlanabilir veya Zeppelin’i kullanarak veri keşfi ve görselleştirme için etkileşimli ve ortak çalışmaya uygun not defterleri oluşturabilirsiniz. Küme dışında, kalıcı bir Spark Geçmiş Sunucusu olan EMR konsolunda iş yüklerini ayarlayıp hatalarını ayıklayabilirsiniz.

Apache Spark makine öğrenimi (MLlib), akış işleme (Spark Streaming) ve grafik işleme (GraphX) uygulamaları oluşturmanıza yardımcı olacak birçok kitaplık içerir. Bu kitaplıklar Spark ekosistemine sıkı bir şekilde entegre edilmiştir ve ilk andan itibaren çok farklı kullanım örneklerini desteklemek için kullanılmaya hazırdır. Dilerseniz Spark uygulamalarınızda Apache MXNet gibi derin öğrenme çerçevelerini kullanabilirsiniz. AWS Step Functions entegrasyonu, uygulamalarınıza sunucusuz iş akışı otomasyonu ve düzenlemesi eklemenizi sağlar.

Apache Spark işlerini EMR Step API ile gönderebilir, Spark’ı EMRFS ile birlikte kullanarak S3 içindeki verilere doğrudan erişebilir, EC2 Spot kapasitesini kullanarak maliyet tasarrufu yapabilir, EMR ile Yönetilen Ölçeklendirmeyi kullanarak dinamik olarak kapasite ekleyip kaldırabilir ve iş yükünüze uygun uzun vadeli veya geçici kümeler oluşturabilirsiniz. Ayrıca bir EMR güvenlik yapılandırması kullanarak Spark şifrelemesi ve Kerberos ile kimlik doğrulama yapılandırmasını kolayca gerçekleştirebilirsiniz. Buna ek olarak AWS Glue Veri Kataloğu ile Spark SQL tablo meta verilerini depolayabilir veya Spark makine öğrenimi işlem hatlarında Amazon SageMaker hizmetini kullanabilirsiniz. EMR, Spark’ı Hadoop YARN üzerine yükleyip yönetir. Dilerseniz kümenize başka big data uygulamaları da ekleyebilirsiniz. Apache Hudi ile EMR, değişen verileri yakalamayı (CDC) daha verimli bir şekilde yönetmenizi sağlar ve kayıt silmeyi basitleştirerek GDPR ile CCPA gibi gizlilik düzenlemeleri konusunda yardımcı olur. EMR özellikleri hakkında daha fazla bilgi için buraya tıklayın.

Kullanım örnekleri

EMR'de Spark Streaming ile Amazon Kinesis, Apache Kafka veya diğer veri akışlarından gerçek zamanlı verileri kullanın ve işleyin. Hata toleranslı bir yöntemle akış analizi gerçekleştirin ve sonuçları S3 veya küme üzerindeki HDFS'ye yazın.

EMR'de Apache Spark, çeşitli ölçeklenebilir makine öğrenimi algoritmaları sunan MLlib'i içerir. Dilerseniz kendi kitaplıklarınızı da kullanabilirsiniz. Spark, iş sırasında veri kümelerini bellek içinde depolayarak makine öğrenimi iş yüklerinde sık kullanılan yinelemeli sorgular için yüksek performans sunar. Notebook bulut sunucusunu kolay eğitim modelleri ve barındırma modelleri için Amazon SageMaker Spark ile Amazon EMR üzerinde çalışan bir Apache Spark kümesine bağlayarak Amazon SageMaker kapasitesini iyileştirebilirsiniz.

SQL veya HiveQL ile düşük gecikme süresine sahip etkileşimli sorgular için Spark SQL hizmetini kullanabilirsiniz. EMR’de Spark, EMRFS hizmetinden faydalanabildiği için S3 üzerindeki veri kümelerinize anlık erişim sağlayabilirsiniz. Ayrıca ODBC ve JDBC bağlantıları sayesinde EMR Studio, EMR Notebooks'u, Zeppelin not defterlerini veya BI araçlarını kullanabilirsiniz.

Müşteri başarısı

  • Yelp

    Yelp’in reklam hedefleme ekibi, kullanıcının bir reklamla etkileşim kurma ihtimalini belirlemek için tahmine dayalı modeller tasarlamaktadır. Yelp, makine öğrenimi modellerini eğitmek için çok miktarda veriyi işlemek üzere Amazon EMR’de Apache Spark hizmetinden faydalanarak geliri ve reklam tıklama oranını artırmayı başarmıştır.

  • The Washington Post

    The Washington Post, Amazon EMR’de Apache Spark’ı kullanarak okuyucu etkileşimini ve memnuniyetini artırma amacıyla web sitesinin öneri altyapısını geliştirmek için modeller oluşturuyor. Şirket, modelleri neredeyse gerçek zamanlı olarak güncellemek için Amazon EMR’nin yüksek performanslı Amazon S3 bağlantısından faydalanıyor.

  • Krux

    Krux, müşteri öngörüleri için Veri Yönetim Platformunun bir parçası olarak Apache Spark ile birçok makine öğrenimi ve genel işleme iş yükü çalıştırmaktadır. Krux Amazon EC2 Spot kapasitesi ile Amazon EMR kümelerini kullanarak maliyet tasarrufu gerçekleştirmekte ve Apache Spark veri katmanı olarak EMRFS ile Amazon S3 hizmetinden faydalanmaktadır.

    Devamını okuyun »
  • GumGum

    Görüntü ve ekran içi reklam platformu olan GumGum, Amazon EMR’de Apache Spark hizmetini kullanarak envanter tahmini, tıklama oranı günlüklerinin işlenmesi ve Amazon S3 hizmetindeki yapılandırılmış verilerin anlık analiz edilmesi işlemlerini gerçekleştirmektedir. Spark’ın performans geliştirmeleri sayesinde GumGum, bu iş akışlarında zamandan ve paradan tasarruf etmeyi başarmıştır.

    Devamını okuyun »
  • Hearst Corporation

    Geniş ölçekli bir medya ve bilgi şirketi olan Hearst Corporation, 200’den fazla web mülkündeki içeriği görüntüleyen müşterilere sahiptir. Amazon EMR’de Apache Spark hizmetinin akış özelliklerinden faydalanan Hearst şirketinin editör ekibi, yüksek performansa sahip olan makaleleri ve yükselişte olan konuları gerçek zamanlı olarak takip edebilmektedir.

    Devamını okuyun »
  • CrowdStrike

    CrowdStrike, ihlalleri durdurmak için uç nokta koruma hizmeti sunmaktadır. Şirket, Amazon EMR’de Apache Spark hizmetini kullanarak yüzlerce terabayt boyutundaki olay verilerini işlemekte ve konaklarla ilgili daha yüksek düzeyde davranış açıklamaları haline dönüştürmektedir. CrowdStrike bu verilerden olay verilerini toplayabilmekte ve kötü niyetli etkinlikleri tespit edebilmektedir.

    Devamını okuyun »