Node E-MapReduce (EMR) Spark Streaming digunakan untuk memproses data streaming dengan throughput tinggi. Node ini mendukung toleransi kesalahan dan membantu memulihkan aliran data yang mengalami gangguan. Topik ini menjelaskan cara membuat dan menggunakan node EMR Spark Streaming untuk pengembangan data.
Prasyarat
Cluster EMR Alibaba Cloud telah dibuat dan didaftarkan ke DataWorks. Untuk informasi lebih lanjut, lihat DataStudio (versi lama): Asosiasikan sumber daya komputasi EMR.
(Diperlukan jika Anda menggunakan pengguna RAM untuk mengembangkan tugas) Pengguna RAM 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 menetapkan peran tersebut. Untuk informasi lebih lanjut tentang cara menambahkan anggota, lihat Tambah anggota ruang kerja dan tetapkan peran kepada mereka.
Grup sumber daya serverless telah dibeli dan dikonfigurasi. Konfigurasinya mencakup asosiasi dengan ruang kerja dan konfigurasi jaringan. Untuk informasi lebih lanjut, lihat Buat dan gunakan grup 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 lebih lanjut, lihat Buat alur kerja.
Batasan
Jenis node ini hanya dapat dijalankan pada grup sumber daya serverless atau grup sumber daya eksklusif untuk penjadwalan. Kami merekomendasikan penggunaan grup sumber daya serverless.
Node EMR Spark Streaming yang dibuat di DataWorks tidak dapat digunakan untuk mengembangkan data di cluster Spark yang dibuat di halaman EMR on ACK.
Langkah 1: Buat node EMR Spark Streaming
Pergi ke halaman DataStudio.
Masuk ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi kiri, pilih . Pada halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Go to Data Development.
Buat node EMR Spark Streaming.
Temukan alur kerja yang diinginkan, klik kanan nama alur kerja, dan pilih .
CatatanSebagai alternatif, Anda dapat mengarahkan kursor ke ikon Create dan pilih .
Di kotak dialog Create Node, konfigurasikan parameter Name, Engine Instance, Node Type, dan Path. Klik Confirm. Tab konfigurasi node EMR Spark Streaming akan muncul.
CatatanNama node hanya dapat berisi huruf, angka, garis bawah (_), dan titik (.).
Langkah 2: Kembangkan tugas EMR Spark Streaming
Anda dapat mengembangkan tugas Spark Streaming di tab konfigurasi node EMR Spark Streaming.
Buat dan referensikan sumber daya EMR JAR
Jika Anda menggunakan cluster EMR DataLake, Anda dapat melakukan langkah-langkah berikut untuk merujuk sumber daya EMR JAR.
Jika node EMR Spark Streaming bergantung pada sejumlah besar sumber daya, sumber daya tersebut tidak dapat diunggah melalui konsol DataWorks. Dalam kasus ini, Anda dapat menyimpan sumber daya di Hadoop Distributed File System (HDFS) dan kemudian merujuk sumber daya dalam kode node EMR Spark Streaming. Contoh kode:
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 sumber daya EMR JAR. Untuk informasi lebih lanjut, lihat Buat dan gunakan sumber daya EMR. Pertama kali Anda menggunakan sumber daya EMR JAR, klik Authorize untuk memberi otorisasi DataWorks mengakses sumber daya EMR JAR.
Referensikan sumber daya EMR JAR.
Buka node EMR Spark Streaming. Tab konfigurasi node akan muncul.
Temukan sumber daya yang ingin dirujuk di bawah Resource di folder EMR, klik kanan nama sumber daya, dan pilih Insert Resource Path.
Jika klausa dalam format
##@resource_reference{""}muncul di tab konfigurasi node EMR Spark Streaming, maka sumber daya telah dirujuk. Kemudian, jalankan kode berikut. Anda harus mengganti informasi dalam kode berikut dengan informasi aktual. Informasi tersebut mencakup nama paket sumber daya, nama bucket, dan direktori.##@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 SQL
Di tab konfigurasi node EMR Spark Streaming, tulis kode untuk node tersebut. Contoh kode:
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, paket JAR
examples-1.2.0-shaded.jardiunggah di konsol DataWorks.Anda harus mengganti
access-key-iddanaccess-key-secretdengan ID AccessKey dan Rahasia AccessKey akun Alibaba Cloud Anda. Untuk mendapatkan ID AccessKey dan Rahasia AccessKey, Anda dapat masuk ke Konsol DataWorks, arahkan kursor ke foto profil di sudut kanan atas, dan pilih Manajemen AccessKey.Anda tidak dapat menambahkan komentar saat menulis kode untuk node EMR Spark Streaming.
Jika beberapa sumber daya komputasi EMR terhubung dengan DataStudio di ruang kerja Anda, Anda harus memilih salah satu dari sumber daya komputasi tersebut. Jika hanya satu sumber daya komputasi EMR yang terhubung dengan DataStudio di ruang kerja Anda, Anda tidak perlu memilih sumber data.
(Opsional) Konfigurasikan parameter lanjutan
Anda dapat mengonfigurasi parameter lanjutan di tab Pengaturan Lanjutan dari tab konfigurasi node saat ini. Untuk informasi lebih lanjut tentang cara mengonfigurasi parameter, lihat Konfigurasi Spark. Tabel berikut menjelaskan parameter lanjutan yang dapat dikonfigurasi.
Cluster DataLake: EMR di ECS
Parameter lanjutan | Deskripsi |
queue | Antrian penjadwalan tempat pekerjaan dikirim. Nilai default: default. Untuk informasi tentang EMR YARN, lihat Penjadwal YARN. |
priority | Prioritas. Nilai default: 1. |
Lainnya | Anda dapat menambahkan parameter SparkConf di tab Pengaturan Lanjutan untuk node EMR Spark Streaming. Saat Anda mengirim kode untuk node EMR Spark Streaming di DataWorks, DataWorks menambahkan parameter kustom ke perintah. Contoh: Catatan Jika Anda ingin mengaktifkan kontrol izin Ranger, Anda harus menambahkan Untuk informasi tentang konfigurasi parameter lainnya, lihat Konfigurasikan parameter Spark global. |
Jalankan tugas Spark Streaming
Di bilah alat, klik ikon
. Di kotak dialog Parameters, pilih grup sumber daya yang diinginkan dari daftar drop-down Nama Grup Sumber Daya dan klik Run.CatatanJika Anda ingin mengakses sumber daya komputasi melalui Internet atau virtual private cloud (VPC), Anda harus menggunakan grup sumber daya untuk penjadwalan yang terhubung ke sumber daya komputasi. Untuk informasi lebih lanjut, lihat Solusi konektivitas jaringan.
Jika Anda ingin mengubah grup sumber daya dalam operasi selanjutnya, Anda dapat mengklik ikon
(Run with Parameters) untuk mengubah grup sumber daya di kotak dialog Parameter.
Klik ikon
di bilah alat atas untuk menyimpan pernyataan SQL.Opsional. Lakukan pengujian asap.
Anda dapat melakukan pengujian asap pada node di lingkungan pengembangan saat Anda mengirim node atau setelah Anda mengirim node. Untuk informasi lebih lanjut, lihat Lakukan pengujian asap.
Langkah 3: Konfigurasikan properti penjadwalan
Jika Anda ingin sistem secara berkala menjalankan tugas pada node, Anda dapat mengklik Properties di panel navigasi kanan pada tab konfigurasi node untuk mengonfigurasi properti penjadwalan tugas berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Ikhtisar.
Anda harus mengonfigurasi parameter Rerun dan Parent Nodes di tab Properti sebelum Anda mengirim tugas.
Langkah 4: Terapkan tugas
Setelah tugas pada node dikonfigurasi, Anda harus mengirim dan menerapkan tugas tersebut. Setelah Anda mengirim dan menerapkan tugas, sistem akan menjalankan tugas secara berkala berdasarkan konfigurasi penjadwalan.
Klik ikon
di bilah alat atas untuk menyimpan tugas.Klik ikon
di bilah alat atas untuk mengirim tugas.Di kotak dialog Submit, konfigurasikan parameter Change description. Kemudian, tentukan apakah akan meninjau kode tugas setelah Anda mengirim tugas berdasarkan kebutuhan bisnis Anda.
CatatanAnda harus mengonfigurasi parameter Rerun dan Parent Nodes di tab Properti sebelum Anda mengirim tugas.
Anda dapat menggunakan fitur tinjauan kode untuk memastikan kualitas kode tugas dan mencegah kesalahan eksekusi tugas yang disebabkan oleh kode tugas yang tidak valid. Jika Anda mengaktifkan fitur tinjauan kode, kode tugas yang dikirim hanya dapat diterapkan setelah kode tugas lolos tinjauan kode. Untuk informasi lebih lanjut, lihat Tinjauan kode.
Jika Anda menggunakan ruang kerja dalam mode standar, Anda harus menerapkan tugas di lingkungan produksi setelah Anda mengirim tugas. Untuk menerapkan tugas pada node, klik Deploy di sudut kanan atas tab konfigurasi node. Untuk informasi lebih lanjut, lihat Terapkan node.
Apa yang harus dilakukan selanjutnya
Setelah Anda mengirim dan menerapkan tugas, tugas tersebut dijalankan secara berkala berdasarkan konfigurasi penjadwalan. Anda dapat mengklik Operation Center di sudut kanan atas tab konfigurasi node yang sesuai untuk pergi ke Pusat Operasi dan melihat status penjadwalan tugas. Untuk informasi lebih lanjut, lihat Lihat dan kelola tugas yang dipicu otomatis.