Mengontrol Instans Spark EMR Amazon Menggunakan Notebook - Amazon SageMaker

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

Mengontrol Instans Spark EMR Amazon Menggunakan Notebook

Anda dapat menggunakan instance notebook yang dibuat dengan skrip konfigurasi siklus hidup kustom untuk mengakses AWS layanan dari buku catatan Anda. Misalnya, Anda dapat membuat skrip yang memungkinkan Anda menggunakan buku catatan dengan Sparkmagic untuk mengontrol AWS sumber daya lain, seperti instans EMR Amazon. Anda kemudian dapat menggunakan instans EMR Amazon untuk memproses data Anda alih-alih menjalankan analisis data pada notebook Anda. Ini memungkinkan Anda membuat instance notebook yang lebih kecil karena Anda tidak akan menggunakan instance untuk memproses data. Ini sangat membantu ketika Anda memiliki kumpulan data besar yang memerlukan instance notebook besar untuk memproses data.

Proses ini membutuhkan tiga prosedur menggunakan SageMaker konsol Amazon:

  • Buat instans Amazon EMR Spark

  • Buat Notebook Jupyter

  • Uji koneksi EMR Notebook-to-Amazon

Untuk membuat instans Amazon EMR Spark yang dapat dikontrol dari notebook menggunakan Sparkmagic
  1. Buka konsol Amazon EMR di https://console.aws.amazon.com/elasticmapreduce/.

  2. Di panel navigasi, pilih Buat cluster.

  3. Pada halaman Buat Cluster - Opsi Cepat, di bawah konfigurasi Perangkat Lunak, pilih Spark: Spark 2.4.4 di Hadoop 2.8.5 YARN dengan Ganglia 3.7.2 dan Zeppelin 0.8.2.

  4. Tetapkan parameter tambahan pada halaman dan kemudian pilih Buat cluster.

  5. Pada halaman Cluster, pilih nama cluster yang Anda buat. Perhatikan DNS Publik Master, grup keamanan master EMR, dan nama VPC serta subnet ID tempat cluster EMR dibuat. Anda akan menggunakan nilai-nilai ini saat membuat buku catatan.

Untuk membuat notebook yang menggunakan Sparkmagic untuk mengontrol instans Amazon EMR Spark
  1. Buka SageMaker konsol Amazon di https://console.aws.amazon.com/sagemaker/.

  2. Di panel navigasi, di bawah instance Notebook, pilih Buat buku catatan.

  3. Masukkan nama instance notebook dan pilih jenis instans.

  4. Pilih Konfigurasi tambahan, lalu, di bawah Konfigurasi Siklus Hidup, pilih Buat konfigurasi siklus hidup baru.

  5. Tambahkan kode berikut ke skrip konfigurasi siklus hidup:

    # OVERVIEW # This script connects an Amazon EMR cluster to an Amazon SageMaker notebook instance that uses Sparkmagic. # # Note that this script will fail if the Amazon EMR cluster's master node IP address is not reachable. # 1. Ensure that the EMR master node IP is resolvable from the notebook instance. # One way to accomplish this is to have the notebook instance and the Amazon EMR cluster in the same subnet. # 2. Ensure the EMR master node security group provides inbound access from the notebook instance security group. # Type - Protocol - Port - Source # Custom TCP - TCP - 8998 - $NOTEBOOK_SECURITY_GROUP # 3. Ensure the notebook instance has internet connectivity to fetch the SparkMagic example config. # # https://aws.amazon.com/blogs/machine-learning/build-amazon-sagemaker-notebooks-backed-by-spark-in-amazon-emr/ # PARAMETERS EMR_MASTER_IP=your.emr.master.ip cd /home/ec2-user/.sparkmagic echo "Fetching Sparkmagic example config from GitHub..." wget https://raw.githubusercontent.com/jupyter-incubator/sparkmagic/master/sparkmagic/example_config.json echo "Replacing EMR master node IP in Sparkmagic config..." sed -i -- "s/localhost/$EMR_MASTER_IP/g" example_config.json mv example_config.json config.json echo "Sending a sample request to Livy.." curl "$EMR_MASTER_IP:8998/sessions"
  6. Di PARAMETERS bagian skrip, ganti your.emr.master.ip dengan nama Master Public DNS untuk instans EMR Amazon.

  7. Pilih Buat konfigurasi.

  8. Pada halaman Buat buku catatan, pilih Jaringan - opsional.

  9. Pilih VPC dan subnet tempat instans EMR Amazon berada.

  10. Pilih grup keamanan yang digunakan oleh simpul master EMR Amazon.

  11. Pilih Buat instans notebook.

Saat instance notebook sedang dibuat, statusnya Tertunda. Setelah instance dibuat dan skrip konfigurasi siklus hidup berhasil dijalankan, statusnya adalah. InService

catatan

Jika instance notebook tidak dapat terhubung ke instans EMR Amazon, tidak SageMaker dapat membuat instance notebook. Sambungan dapat gagal jika instans EMR Amazon dan notebook tidak berada dalam VPC dan subnet yang sama, jika grup keamanan master EMR Amazon tidak digunakan oleh notebook, atau jika nama Master Public DNS dalam skrip salah.

Untuk menguji koneksi antara instans EMR Amazon dan notebook
  1. Saat status notebook InService, pilih Buka Jupyter untuk membuka buku catatan.

  2. Pilih Baru, lalu pilih Sparkmagic () PySpark.

  3. Di sel kode, masukkan %%info lalu jalankan sel.

    Outputnya harus mirip dengan yang berikut

    Current session configs: {'driverMemory': '1000M', 'executorCores': 2, 'kind': 'pyspark'}
                        No active sessions.