Gunakan Apache Spark dengan Amazon SageMaker - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan Apache Spark dengan Amazon SageMaker

Amazon SageMaker Spark adalah pustaka Spark open source yang membantu Anda membangun pipeline machine learning (ML) Spark. SageMaker Ini menyederhanakan integrasi tahapan Spark ML dengan SageMaker tahapan, seperti pelatihan model dan hosting. Untuk informasi tentang SageMaker Spark, lihat repositori SageMaker Spark GitHub.

Pustaka SageMaker Spark tersedia dalam Python dan Scala. Anda dapat menggunakan SageMaker Spark untuk melatih model dalam SageMaker menggunakan bingkai org.apache.spark.sql.DataFrame data di cluster Spark Anda. Setelah pelatihan model, Anda juga dapat meng-host model menggunakan layanan SageMaker hosting.

Perpustakaan SageMaker Spark,com.amazonaws.services.sagemaker.sparksdk, menyediakan kelas-kelas berikut, antara lain:

  • SageMakerEstimator—Memperluas antarmuka. org.apache.spark.ml.Estimator Anda dapat menggunakan estimator ini untuk pelatihan model di SageMaker.

  • KMeansSageMakerEstimator,PCASageMakerEstimator, dan XGBoostSageMakerEstimator —Memperpanjang SageMakerEstimator kelas.

  • SageMakerModelMemperluas kelas. org.apache.spark.ml.Model Anda dapat menggunakan ini SageMakerModel untuk hosting model dan mendapatkan kesimpulan. SageMaker

Anda dapat mengunduh kode sumber untuk pustaka Python Spark (PySpark) dan Scala dari repositori Spark. SageMaker GitHub

Untuk instalasi dan contoh perpustakaan SageMaker Spark, lihat SageMaker Spark untuk contoh Scala atauSageMaker Contoh percikan untuk Python PySpark ().

Jika Anda menggunakan Amazon EMR AWS untuk mengelola cluster Spark, lihat Apache Spark. Untuk informasi selengkapnya tentang menggunakan Amazon EMR di SageMaker, lihat. Siapkan data menggunakan Amazon EMR

Integrasikan aplikasi Apache Spark Anda dengan SageMaker

Berikut ini adalah ringkasan tingkat tinggi dari langkah-langkah untuk mengintegrasikan aplikasi Apache Spark Anda. SageMaker

  1. Lanjutkan preprocessing data menggunakan pustaka Apache Spark yang Anda kenal. Dataset Anda tetap berada DataFrame di cluster Spark Anda. Muat data Anda ke dalam fileDataFrame. Pra-proses sehingga Anda memiliki features kolom dengan org.apache.spark.ml.linalg.Vector dariDoubles, dan label kolom opsional dengan nilai Double tipe.

  2. Gunakan estimator di perpustakaan SageMaker Spark untuk melatih model Anda. Misalnya, jika Anda memilih algoritma k-means yang disediakan oleh SageMaker untuk pelatihan model, panggil KMeansSageMakerEstimator.fit metode.

    Berikan Anda DataFrame sebagai masukan. Estimator mengembalikan SageMakerModel objek.

    catatan

    SageMakerModelmemperluas. org.apache.spark.ml.Model

    fitMetode ini melakukan hal berikut:

    1. Mengkonversi input DataFrame ke format protobuf. Ia melakukannya dengan memilih label kolom features dan dari inputDataFrame. Kemudian mengunggah data protobuf ke bucket Amazon S3. Format protobuf efisien untuk pelatihan model di. SageMaker

    2. Memulai pelatihan model SageMaker dengan mengirimkan SageMaker CreateTrainingJobpermintaan. Setelah pelatihan model selesai, SageMaker simpan artefak model ke ember S3.

      SageMaker mengasumsikan peran IAM yang Anda tentukan untuk pelatihan model untuk melakukan tugas atas nama Anda. Misalnya, ia menggunakan peran untuk membaca data pelatihan dari bucket S3 dan menulis artefak model ke ember.

    3. Menciptakan dan mengembalikan SageMakerModel objek. Konstruktor melakukan tugas-tugas berikut, yang terkait dengan penerapan model Anda. SageMaker

      1. Mengirim CreateModelpermintaan ke SageMaker.

      2. Mengirim CreateEndpointConfigpermintaan ke SageMaker.

      3. Mengirim CreateEndpointpermintaan ke SageMaker, yang kemudian meluncurkan sumber daya yang ditentukan, dan menghosting model pada mereka.

  3. Anda bisa mendapatkan kesimpulan dari model Anda yang di-host SageMaker dengan. SageMakerModel.transform

    Berikan masukan DataFrame dengan fitur sebagai input. transformMetode mengubahnya menjadi kesimpulan yang DataFrame mengandung. Secara internal, transform metode mengirimkan permintaan ke InvokeEndpoint SageMaker API untuk mendapatkan kesimpulan. transformMetode ini menambahkan kesimpulan ke input. DataFrame