Apache Spark di Amazon EMR

Mengapa harus Apache Spark on EMR?

Amazon EMR adalah tempat terbaik untuk menjalankan Apache Spark. Anda dapat dengan cepat dan mudah membuat kluster Spark terkelola dari AWS Management Console, AWS CLI, atau API Amazon EMR. Selain itu, Anda dapat memanfaatkan fitur Amazon EMR tambahan, yang mencakup konektivitas Amazon S3 cepat menggunakan Amazon EMR File System (EMRFS), integrasi dengan pasar Spot Amazon EC2 dan Katalog Data AWS Glue, dan EMR Managed Scaling untuk menambah atau menghapus instans dari klaster Anda. AWS Lake Formation menghadirkan kontrol akses terperinci, sementara integrasi dengan AWS Step Functions membantu orkestrasi pipeline data Anda. EMR Studio (pratinjau) adalah lingkungan pengembangan terintegrasi (IDE) yang memudahkan ilmuwan data dan rekayasawan data mengembangkan, memvisualisasikan, serta melakukan debug aplikasi ilmu data dan rekayasa data yang ditulis di R, Python, Scala, dan PySpark. EMR Studio menyediakan Jupyter Notebook yang dikelola sepenuhnya, dan alat seperti Spark UI dan YARN Timeline Service untuk memudahkan debugging. EMR Notebooks memudahkan Anda bereksperimen dan membangun aplikasi dengan Spark. Jika diinginkan, Anda dapat menggunakan Apache Zeppelin untuk membuat notebook interaktif dan kolaboratif untuk eksplorasi data menggunakan Spark.

Pelajari selengkapnya tentang Apache Spark di sini

Fitur dan manfaat

EMR menghadirkan runtime Amazon EMR untuk Apache Spark, lingkungan runtime yang performanya dioptimalkan untuk Apache Spark yang aktif secara default di klaster Amazon EMR. Amazon EMR runtime for Apache Spark bisa lebih 3x lebih cepat dari kluster tanpa runtime EMR, dan memiliki kompatibilitas API sebesar 100% dengan Apache Spark standar. Peningkatan performa ini berarti beban kerja Anda berjalan lebih cepat dan menghemat biaya komputasi, tanpa membuat perubahan apa pun pada aplikasi Anda.

Dengan mesin eksekusi grafik asiklik yang diarahkan (DAG), Spark dapat membuat rencana kueri yang efisien untuk transformasi data. Spark juga menyimpan input, output, dan data perantara dalam memori sebagai frame data yang tangguh, yang memungkinkan pemrosesan cepat tanpa biaya I/O, percepatan performa iteratif, atau beban kerja interaktif.

Apache Spark secara native mendukung Java, Scala, SQL, dan Python, yang memberikan Anda berbagai bahasa untuk membangun aplikasi. Selain itu, Anda dapat mengirimkan kueri SQL atau HiveQL menggunakan modul Spark SQL. Selain menjalankan aplikasi, Anda dapat menggunakan API Spark secara interaktif dengan Python atau Scala secara langsung di shell Spark atau melalui EMR Studio, atau notebook Jupyter di klaster Anda. Dukungan untuk Apache Hadoop 3.0 di EMR 6.0 menghadirkan dukungan kontainer Docker untuk menyederhanakan pengelolaan ketergantungan. Anda juga dapat memanfaatkan EMR Notebooks independen klaster (berdasarkan Jupyter) atau menggunakan Zeppelin untuk membuat notebook interaktif dan kolaboratif untuk eksplorasi dan visualisasi data. Anda dapat menyetel dan melakukan debug beban kerja Anda di konsol EMR yang memiliki Spark History Server yang persisten di luar klaster.

Apache Spark mencakup beberapa pustaka yang membantu pembuatan aplikasi untuk machine learning (MLlib), pemrosesan stream (Spark Streaming), dan pemrosesan grafik (GraphX). Pustaka ini sangat terintegrasi dalam ekosistem Spark, dan dapat dimanfaatkan semaksimal mungkin untuk merujuk berbagai kasus penggunaan. Selain itu, Anda dapat menggunakan kerangka kerja deep learning seperti Apache MXNet dengan aplikasi Spark. Integrasi dengan AWS Step Functions memungkinkan Anda menambahkan otomatisasi dan orkestrasi alur kerja nirserver ke aplikasi Anda.

Kirimkan pekerjaan Apache Spark dengan EMR Step API, gunakan Spark dengan EMRFS untuk mengakses data secara langsung di S3, hemat biaya menggunakan kapasitas EC2 Spot, gunakan EMR Managed Scaling untuk menambah dan menghapus kapasitas secara dinamis, dan luncurkan klaster yang sudah berjalan lama atau sementara agar sesuai dengan beban kerja Anda. Anda juga dapat dengan mudah mengonfigurasi enkripsi Spark dan autentikasi dengan Kerberos menggunakan konfigurasi keamanan EMR. Selain itu, Anda dapat menggunakan Katalog Data AWS Glue untuk menyimpan metadata tabel Spark SQL atau menggunakan Amazon SageMaker dengan pipeline machine learning Spark. EMR menginstal dan mengelola Spark di Hadoop YARN, dan Anda juga dapat menambahkan aplikasi big data lainnya di klaster Anda. EMR dengan Apache Hudi memungkinkan Anda mengelola pengambilan data perubahan (CDC) dengan lebih efisien dan membantu peraturan privasi seperti GDPR dan CCPA dengan menyederhanakan penghapusan catatan. Klik di sini untuk detail selengkapnya tentang fitur-fitur EMR.

Kasus penggunaan

Konsumsi dan proses data waktu nyata dari Amazon Kinesis, Apache Kafka, atau aliran data lainnya dengan Spark Streaming di EMR. Lakukan analisis streaming dengan cara yang yang toleran kesalahan dan tulis hasilnya ke S3 atau HDFS di klaster.

Apache Spark pada EMR mencakup MLlib untuk berbagai algoritme machine learning yang dapat diskalakan, atau Anda dapat menggunakan pustaka Anda sendiri. Dengan menyimpan set data dalam memori selama mengerjakan tugas, Spark memiliki performa yang kuat untuk kueri iteratif yang umum di beban kerja machine learning. Anda dapat meningkatkan kemampuan Amazon SageMaker dengan menghubungkan instans notebook ke kluster Apache Spark yang berjalan di Amazon EMR, dengan Amazon SageMaker Spark untuk melatih model dan meng-hosting model dengan mudah.

Gunakan Spark SQL untuk latensi rendah, kueri interaktif dengan SQL atau HiveQL. Spark di EMR dapat memanfaatkan EMRFS, sehingga Anda dapat memiliki akses ad hoc ke set data Anda di S3. Anda juga dapat memanfaatkan EMR Studio, EMR Notebooks, Zeppelin notebook, atau alat BI melalui koneksi ODBC dan JDBC.

Kesuksesan pelanggan

  • Yelp

    Tim penargetan iklan Yelp membuat model prediksi untuk menentukan kemungkinan interaksi pengguna dengan suatu iklan. Dengan menggunakan Apache Spark di Amazon EMR untuk memproses sejumlah besar data untuk melatih model machine learning, Yelp telah meningkatkan pendapatan dan rasio klik-tayang iklan.

  • The Washington Post

    The Washington Post menggunakan Apache Spark di Amazon EMR untuk membangun model yang mendukung mesin rekomendasi situs webnya untuk meningkatkan keterlibatan dan kepuasan pembaca. Mereka mendongkrak konektivitas kinerja Amazon EMR dengan Amazon S3 untuk memutakhirkan model hampir secara real-time.

  • Krux

    Sebagai bagian dari Data Management Platform untuk wawasan pelanggan, Krux menjalankan banyak machine learning dan beban kerja pemrosesan umum menggunakan Apache Spark. Krux memanfaatkan klaster Amazon EMR yang baru berjalan sebentar dengan Kapasitas Spot Amazon EC2 untuk menghemat biaya dan menggunakan Amazon S3 dengan EMRFS sebagai lapisan data untuk Apache Spark.

    Baca selengkapnya »
  • GumGum

    GumGum, suatu platform pengiklanan pada gambar dan pada layar, menggunakan Spark di Amazon EMR untuk memprediksi inventaris, memproses log aliran klik, dan analisis ad hoc terhadap data tak terstruktur di Amazon S3. Peningkatan kinerja Spark menghemat waktu dan biaya GumGum untuk alur kerja ini.

    Baca selengkapnya »
  • Hearst Corporation

    Hearst Corporation, suatu perusahaan media dan informasi beragam yang besar, memiliki pelanggan yang melihat konten pada lebih dari 200 properti web. Dengan menggunakan Apache Spark Streaming di Amazon EMR, karyawan editorial Hearst dapat mempertahankan laju real-time yang berarti artikel mereka bekerja dengan baik dan tema mereka populer.

    Baca selengkapnya »
  • CrowdStrike

    CrowdStrike menyediakan proteksi titik akhir untuk menghentikan pelanggaran. Mereka menggunakan Amazon EMR dengan Spark untuk memproses ratusan terabyte data peristiwa dan meningkatkannya menjadi deskripsi perilaku tingkat yang lebih tinggi pada host. Dari data tersebut, CrowdStrike dapat menarik data peristiwa sekaligus dan mengidentifikasi adanya aktivitas berbahaya.

    Baca selengkapnya »