Node E-MapReduce (EMR) Spark Streaming memproses data streaming real-time ber-throughput tinggi dan dilengkapi mekanisme toleransi kesalahan untuk memungkinkan pemulihan cepat aliran data yang gagal. Topik ini menjelaskan cara membuat dan menggunakan node EMR Spark Streaming untuk pengembangan data.
Prasyarat
Anda telah membuat kluster Alibaba Cloud EMR dan mengaitkannya dengan DataWorks. Untuk informasi selengkapnya, lihat Data Studio (versi baru): Mengaitkan sumber daya komputasi EMR.
(Opsional) Jika Anda adalah pengguna Resource Access Management (RAM), pastikan Anda telah ditambahkan ke ruang kerja untuk pengembangan tugas dan telah diberikan peran Developer atau Workspace Administrator. Peran Workspace Administrator memiliki izin yang luas, sehingga harus diberikan dengan hati-hati. Untuk informasi selengkapnya tentang penambahan anggota, lihat Menambahkan anggota ke ruang kerja.
Jika Anda menggunakan akun Alibaba Cloud, Anda dapat melewati langkah ini.
Batasan
Jenis tugas ini hanya dapat dijalankan pada kelompok sumber daya Serverless (disarankan) atau kelompok sumber daya eksklusif untuk penjadwalan.
Anda tidak dapat membuat dan menggunakan node EMR Spark Streaming untuk pengembangan data pada kluster EMR on ACK Spark.
Prosedur
Pada halaman edit node EMR Spark Streaming, lakukan langkah-langkah berikut:
Membuat dan mereferensikan sumber daya EMR JAR
Jika Anda menggunakan kluster DataLake, ikuti langkah-langkah berikut untuk mereferensikan sumber daya EMR JAR.
CatatanJika sumber daya yang dibutuhkan oleh node EMR Spark Streaming terlalu besar, Anda tidak dapat mengunggahnya dari halaman DataWorks. Sebagai gantinya, simpan sumber daya tersebut di Hadoop Distributed File System (HDFS) dan referensikan dalam kode Anda. Kode berikut memberikan 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 sumber daya EMR JAR.
Untuk informasi selengkapnya, lihat Resource Management. Paket JAR yang dihasilkan disimpan di direktori
emr/jars. Klik tombol Click To Upload untuk mengunggah paket JAR.Tetapkan Storage Path, Data Source, dan Resource Group.
Klik Save.
Referensikan sumber daya EMR JAR.
Buka node EMR Spark Streaming yang telah Anda buat. Hal ini akan membuka editor kode.
Di panel navigasi sebelah kiri, di bawah Resource Management, temukan sumber daya yang ingin Anda referensikan. Klik kanan sumber daya tersebut dan pilih Reference Resource.
Setelah Anda memilih referensi, pesan sukses akan muncul di editor kode node EMR Spark Streaming. Kemudian, jalankan perintah berikut. Ganti paket sumber daya contoh, nama bucket, dan path dengan informasi 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 SQL
Di editor kode untuk node EMR Spark Streaming, masukkan kode untuk pekerjaan tersebut. Kode berikut memberikan 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>CatatanDalam contoh ini, sumber daya 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 mendapatkan ID AccessKey dan Rahasia AccessKey, masuk ke Konsol DataWorks, arahkan kursor ke gambar profil Anda di pojok kanan atas, lalu pilih AccessKey Management.Komentar tidak didukung di editor kode untuk node EMR Spark Streaming.
(Opsional) Konfigurasi parameter lanjutan
Di bagian Scheduling Configuration di sisi kanan halaman node, Anda dapat mengonfigurasi parameter yang dijelaskan dalam tabel berikut di bawah .
CatatanParameter lanjutan yang tersedia bervariasi berdasarkan jenis kluster EMR, seperti yang ditunjukkan dalam tabel berikut.
Untuk informasi selengkapnya tentang properti Spark open-source, lihat Spark Configuration. Anda dapat mengonfigurasi parameter ini di bawah di bagian Scheduling Configuration di sisi kanan halaman.
Kluster DataLake: EMR on ECS
Parameter lanjutan
Deskripsi konfigurasi
FLOW_SKIP_SQL_ANALYZE
Metode untuk mengeksekusi pernyataan SQL. Nilai yang valid:
true: Eksekusi beberapa pernyataan SQL sekaligus.false(default): Eksekusi satu pernyataan SQL dalam satu waktu.
CatatanParameter ini hanya didukung untuk uji coba di lingkungan pengembangan data.
queue
Antrian penjadwalan tempat pekerjaan dikirimkan. Nilai default-nya adalah default. Untuk informasi selengkapnya tentang EMR YARN, lihat Konfigurasi antrian dasar.
priority
Prioritas. Nilai default-nya adalah 1.
Lainnya
Anda dapat menambahkan parameter SparkConf kustom di bagian konfigurasi lanjutan. DataWorks secara otomatis menambahkan parameter ini ke perintah saat Anda mengirimkan kode. Contoh:
"spark.driver.memory" : "2g".CatatanUntuk mengaktifkan kontrol akses Ranger, tambahkan konfigurasi
spark.hadoop.fs.oss.authorization.method=rangerdi Setel parameter Spark global. Hal ini memastikan bahwa kontrol akses Ranger berlaku.Untuk informasi selengkapnya tentang konfigurasi parameter, lihat Setel parameter Spark global.
Eksekusi tugas SQL
Di bagian Computing Resource pada Debug Configuration, Anda dapat mengonfigurasi Computing Resource dan DataWorks Resource Group.
CatatanAnda juga dapat menetapkan Schedule CU berdasarkan kebutuhan sumber daya tugas. Nilai default-nya adalah
0.25.Untuk mengakses sumber data melalui jaringan publik atau VPC, Anda harus menggunakan kelompok sumber daya penjadwalan yang telah lulus uji konektivitas dengan sumber data tersebut. Untuk informasi selengkapnya, lihat Solusi konektivitas jaringan.
Di kotak dialog parameter bilah alat, pilih sumber data yang telah Anda buat dan klik Run untuk mengeksekusi tugas SQL.
Untuk menjalankan tugas node sesuai jadwal, Anda dapat mengonfigurasi properti penjadwalannya. Untuk informasi selengkapnya, lihat Penjadwalan node.
Setelah Anda mengonfigurasi node, Anda harus menerbitkannya. Untuk informasi selengkapnya, lihat Menerbitkan node atau alur kerja.
Setelah tugas diterbitkan, Anda dapat melihat status tugas yang dipicu otomatis di Pusat Operasi. Untuk informasi selengkapnya, lihat Memulai Pusat Operasi.