Node EMR Spark Streaming memproses aliran data real-time ber-throughput tinggi dan menyediakan toleransi kesalahan untuk membantu Anda pulih dengan cepat dari error pada aliran data. Topik ini menjelaskan cara membuat node EMR Spark Streaming dan mengembangkan tugas data.
Prasyarat
Kluster Alibaba Cloud EMR telah dibuat dan didaftarkan ke DataWorks. Untuk informasi selengkapnya, lihat Data Studio (legacy): Asosiasikan sumber daya komputasi EMR.
(Wajib jika Anda menggunakan RAM user untuk mengembangkan tugas) RAM user telah ditambahkan ke ruang kerja DataWorks sebagai anggota dan diberi peran Develop atau Workspace Administrator. Peran Workspace Administrator memiliki lebih banyak izin daripada yang diperlukan. Berhati-hatilah saat memberikan peran tersebut. Untuk informasi selengkapnya tentang cara menambahkan anggota, lihat Tambahkan anggota ke ruang kerja.
Kelompok sumber daya serverless telah dibeli dan dikonfigurasi. Konfigurasi tersebut mencakup asosiasi dengan ruang kerja dan konfigurasi jaringan. Untuk informasi selengkapnya, lihat Buat dan gunakan kelompok sumber daya serverless.
Alur kerja telah dibuat di DataStudio.
Operasi pengembangan pada berbagai jenis mesin komputasi dilakukan berdasarkan alur kerja di DataStudio. Oleh karena itu, sebelum membuat node, Anda harus membuat alur kerja terlebih dahulu. Untuk informasi selengkapnya, lihat Buat alur kerja.
Batasan
Tipe tugas ini hanya dapat dijalankan pada kelompok sumber daya serverless (disarankan) atau grup sumber daya eksklusif untuk penjadwalan.
Anda tidak dapat membuat node EMR Spark Streaming untuk pengembangan tugas di kluster EMR on ACK Spark.
Langkah 1: Buat node EMR Spark Streaming
Login ke Konsol DataWorks. Di wilayah target, klik di panel navigasi kiri. Pilih ruang kerja dari daftar drop-down lalu klik Go to Data Development.
Buat node EMR Spark Streaming.
Klik kanan alur kerja target lalu pilih .
CatatanAtau, arahkan kursor ke Create lalu pilih .
Pada kotak dialog Create Node, masukkan Name dan pilih engine instance, Node Type, dan Path. Klik OK. Hal ini akan membuka halaman konfigurasi untuk node EMR Spark Streaming.
CatatanNama node dapat berisi huruf kapital, huruf kecil, karakter Tionghoa, angka, garis bawah (_), dan titik (.).
Langkah 2: Kembangkan tugas EMR Spark Streaming
Pada halaman konfigurasi node EMR Spark Streaming, klik ganda node yang telah Anda buat untuk membuka halaman pengembangan tugas.
Buat dan referensikan resource EMR JAR
Jika Anda menggunakan kluster DataLake, ikuti langkah-langkah berikut untuk mereferensikan resource EMR JAR.
Jika node EMR Spark Streaming bergantung pada resource besar yang tidak dapat diunggah di DataWorks, Anda dapat menyimpan resource tersebut di HDFS dan mereferensikannya dalam kode Anda. Contohnya:
spark-submit --master yarn
--deploy-mode cluster
--name SparkPi
--driver-memory 4G
--driver-cores 1
--num-executors 5
--executor-memory 4G
--executor-cores 1
--class org.apache.spark.examples.JavaSparkPi
hdfs:///tmp/jars/spark-examples_2.11-2.4.8.jar 100Buat resource EMR JAR. Untuk informasi selengkapnya, lihat Buat dan gunakan resource EMR. Saat pertama kali menggunakan fitur ini, Anda harus melakukan Authorize.
Referensikan resource EMR JAR tersebut.
Buka node EMR Spark Streaming dan buka editor kode.
Di bawah node , temukan resource yang diinginkan, klik kanan, lalu pilih Insert Resource Path.
Setelah Anda memilih resource tersebut, pernyataan dalam format
##@resource_reference{""}akan muncul di editor node. Pernyataan ini mereferensikan resource tersebut. Kemudian, masukkan perintahspark-submitAnda. Nama paket resource, bucket, dan path dalam perintah hanya bersifat ilustratif. Gantilah dengan nilai aktual Anda.##@resource_reference{"examples-1.2.0-shaded.jar"} --master yarn-cluster --executor-cores 2 --executor-memory 2g --driver-memory 1g --num-executors 2 --class com.aliyun.emr.example.spark.streaming.JavaLoghubWordCount examples-1.2.0-shaded.jar <logService-project> <logService-store> <group> <endpoint> <access-key-id> <access-key-secret>
Kembangkan kode spark-submit
Di editor node EMR Spark Streaming, masukkan perintah spark-submit untuk pekerjaan Anda. Contohnya:
spark-submit --master yarn-cluster --executor-cores 2 --executor-memory 2g --driver-memory 1g --num-executors 2 --class com.aliyun.emr.example.spark.streaming.JavaLoghubWordCount examples-1.2.0-shaded.jar <logService-project> <logService-store> <group> <endpoint> <access-key-id> <access-key-secret>Dalam contoh ini, resource yang diunggah ke DataWorks adalah
examples-1.2.0-shaded.jar.Ganti
access-key-iddanaccess-key-secretdengan ID AccessKey dan Rahasia AccessKey Akun Alibaba Cloud Anda. Untuk mendapatkannya, login ke Konsol DataWorks, arahkan kursor ke foto profil Anda di pojok kanan atas, lalu buka halaman Manajemen AccessKey.Komentar tidak didukung saat Anda mengedit kode untuk node EMR Spark Streaming.
Jika beberapa sumber daya komputasi EMR diasosiasikan dengan ruang kerja Anda di DataStudio, pilih salah satu yang sesuai dengan kebutuhan bisnis Anda. Jika hanya ada satu sumber daya yang diasosiasikan, tidak perlu pemilihan.
(Opsional) Konfigurasikan Pengaturan Lanjutan
Anda dapat mengonfigurasi properti tertentu di bagian Advanced Settings node. Untuk informasi selengkapnya tentang properti tersebut, lihat Spark Configuration. Tabel berikut menjelaskan parameter advanced yang tersedia.
DataLake: EMR on ECS
Parameter | Deskripsi |
queue | Antrian penjadwalan untuk pekerjaan. Antrian default adalah default. Untuk informasi selengkapnya tentang EMR YARN, lihat Basic queue configurations. |
priority | Prioritas pekerjaan. Nilai default adalah 1. |
Others | Anda dapat menambahkan parameter SparkConf kustom di bagian ini. Saat Anda mengirimkan kode, DataWorks secara otomatis menambahkan parameter tersebut ke perintah. Contoh: Catatan Untuk mengaktifkan Ranger guna kontrol akses, tambahkan konfigurasi Untuk informasi selengkapnya tentang cara mengonfigurasi parameter, lihat Set global Spark parameters. |
Jalankan tugas
Di bilah alat, klik ikon
. Di kotak dialog Parameter, pilih kelompok sumber daya penjadwalan yang telah Anda buat lalu klik Running.CatatanUntuk mengakses sumber daya komputasi melalui jaringan publik atau di dalam VPC, Anda harus menggunakan kelompok sumber daya penjadwalan yang dapat terhubung ke sumber daya komputasi tersebut. Untuk informasi selengkapnya, lihat Network connectivity solutions.
Jika Anda perlu mengubah kelompok sumber daya untuk eksekusi berikutnya, klik ikon Run with Parameters
lalu pilih kelompok sumber daya yang ingin digunakan.
Klik ikon
untuk menyimpan kode.(Opsional) Lakukan pengujian asap.
Jika Anda ingin melakukan pengujian asap di lingkungan pengembangan, jalankan pengujian tersebut sebelum atau setelah Anda commit node. Untuk informasi selengkapnya, lihat Perform smoke testing.
Langkah 3: Konfigurasi properti penjadwalan
Jika Anda ingin sistem menjalankan tugas pada node secara berkala, Anda dapat mengklik Properties di panel navigasi kanan pada tab konfigurasi node untuk mengonfigurasi properti penjadwalan tugas sesuai kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Overview.
Anda harus mengonfigurasi parameter Rerun dan Parent Nodes di tab Properties sebelum melakukan commit tugas.
Langkah 4: Terapkan tugas
Setelah tugas pada node dikonfigurasi, Anda harus melakukan commit dan deploy tugas tersebut. Setelah tugas di-commit dan di-deploy, sistem akan menjalankan tugas tersebut secara berkala berdasarkan konfigurasi penjadwalan.
-
Klik ikon
di bilah alat atas untuk menyimpan tugas. -
Klik ikon
di bilah alat atas untuk melakukan commit tugas.Pada kotak dialog Submit, konfigurasikan parameter Change description. Lalu, tentukan apakah Anda perlu melakukan tinjauan kode tugas setelah commit berdasarkan kebutuhan bisnis Anda.
Catatan-
Anda harus mengonfigurasi parameter Rerun dan Parent Nodes di tab Properties sebelum melakukan commit tugas.
-
Anda dapat menggunakan fitur tinjauan kode untuk memastikan kualitas kode tugas dan mencegah error eksekusi tugas akibat kode tugas yang tidak valid. Jika Anda mengaktifkan fitur tinjauan kode, kode tugas yang di-commit hanya dapat di-deploy setelah melewati proses tinjauan kode. Untuk informasi selengkapnya, lihat Code review.
-
Jika Anda menggunakan ruang kerja dalam mode standar, Anda harus melakukan deploy tugas di lingkungan produksi setelah melakukan commit tugas. Untuk melakukan deploy tugas pada node, klik Deploy di pojok kanan atas tab konfigurasi node. Untuk informasi selengkapnya, lihat Deploy nodes.
Operasi tambahan
Setelah Anda melakukan commit dan deploy tugas, tugas tersebut akan dijalankan secara berkala berdasarkan konfigurasi penjadwalan. Anda dapat mengklik Operation Center di pojok kanan atas tab konfigurasi node terkait untuk membuka Operation Center dan melihat status penjadwalan tugas tersebut. Untuk informasi selengkapnya, lihat Manage auto triggered tasks.