DataWorks menyediakan kemampuan pengembangan dan administrasi data besar secara end-to-end serta mendukung berbagai mesin komputasi, termasuk AnalyticDB for MySQL. Modul Pengembangan Data (DataStudio) DataWorks mendukung pengembangan alur kerja visual, penjadwalan terkelola, serta operasi dan pemeliharaan (O&M), sehingga memungkinkan Anda mengelola dan menjadwalkan tugas berdasarkan waktu dan dependensi dengan mudah. Anda dapat menggunakan node ADB Spark SQL dan ADB Spark di DataWorks untuk mengembangkan dan menjadwalkan pekerjaan Spark, seperti pekerjaan Spark SQL dan pekerjaan aplikasi Spark.
Prasyarat
Kluster AnalyticDB for MySQL Anda harus memenuhi persyaratan berikut:
Kluster AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse telah dibuat.
Bucket Object Storage Service (OSS) telah dibuat di wilayah yang sama dengan kluster AnalyticDB for MySQL.
Akun database telah dibuat untuk kluster AnalyticDB for MySQL.
Jika Anda menggunakan akun Alibaba Cloud, Anda hanya perlu membuat akun istimewa.
Jika Anda menggunakan pengguna Resource Access Management (RAM), Anda harus membuat akun istimewa dan akun standar serta mengaitkan akun standar tersebut dengan pengguna RAM.
Kelompok sumber daya telah dibuat untuk kluster AnalyticDB for MySQL. Untuk informasi selengkapnya, lihat Membuat dan mengelola kelompok sumber daya.
Untuk mengembangkan pekerjaan Spark SQL, buat kelompok sumber daya Interaktif di AnalyticDB for MySQL. Jenis mesin untuk kelompok sumber daya Interaktif harus Spark.
Untuk mengembangkan pekerjaan Spark JAR atau PySpark, buat kelompok sumber daya Pekerjaan di AnalyticDB for MySQL.
AnalyticDB for MySQL diberi otorisasi untuk mengasumsikan peran AliyunADBSparkProcessingDataRole guna mengakses sumber daya cloud lainnya.
Jalur penyimpanan log aplikasi Spark telah dikonfigurasi.
CatatanMasuk ke Konsol AnalyticDB for MySQL. Temukan kluster yang ingin Anda kelola lalu klik ID kluster tersebut. Di panel navigasi sebelah kiri, pilih . Klik Log Settings. Di kotak dialog yang muncul, pilih jalur default atau tentukan jalur penyimpanan kustom. Anda tidak boleh menetapkan jalur penyimpanan kustom ke direktori root OSS. Pastikan jalur penyimpanan kustom tersebut memiliki setidaknya satu lapis folder.
Ruang kerja DataWorks Anda harus memenuhi persyaratan berikut:
Kluster AnalyticDB for MySQL dan ruang kerja DataWorks berada di wilayah yang sama.
Ruang kerja DataWorks telah dibuat, dan sakelar Join Public Preview For Data Development (DataStudio) (New Version) telah diaktifkan.
CatatanAnda dapat mengaktifkan sakelar Join Public Preview For Data Development (DataStudio) (New Version) saat membuat ruang kerja DataWorks baru. Untuk ruang kerja yang sudah ada, Anda dapat mengajukan tiket untuk mengaktifkan sakelar Join Public Preview For Data Development (DataStudio) (New Version).
Kelompok sumber daya telah dibuat dan disambungkan. Untuk informasi selengkapnya, lihat Membuat dan menyambungkan kelompok sumber daya.
CatatanSaat membuat kelompok sumber daya, pastikan VPC-nya sama dengan VPC kluster AnalyticDB for MySQL.
Blok CIDR IPv4 dari vSwitch untuk kelompok sumber daya tempat ruang kerja DataWorks disambungkan telah ditambahkan ke daftar putih kluster AnalyticDB for MySQL. Untuk informasi selengkapnya, lihat Menyetel Daftar Putih.
Sumber daya komputasi AnalyticDB for Spark telah disambungkan ke ruang kerja DataWorks Anda. Untuk informasi selengkapnya, lihat Menyambungkan sumber daya komputasi AnalyticDB for Spark.
Menjadwalkan pekerjaan Spark SQL di DataWorks
Di AnalyticDB for MySQL, Anda dapat mengembangkan pekerjaan baik untuk tabel eksternal maupun internal. Topik ini menggunakan contoh pekerjaan tabel eksternal untuk menjelaskan langkah-langkah mengembangkan dan menjadwalkan pekerjaan Spark SQL di DataWorks.
Langkah 1: Membuat node ADB Spark SQL
Buka halaman Ruang Kerja di Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Temukan ruang kerja yang diinginkan lalu pilih pada kolom Actions.
Klik ikon
di samping Project Folder, lalu pilih .Di kotak dialog yang muncul, masukkan nama untuk node tersebut lalu tekan Enter.
Langkah 2: Mengembangkan node ADB Spark SQL
Topik ini memberikan contoh cara membuat database eksternal pada node ADB Spark SQL. Untuk informasi tentang cara membuat tabel internal, lihat Membuat tabel internal menggunakan Spark SQL.
CREATE DATABASE IF NOT EXISTS `adb_spark_db` LOCATION 'oss://testBucketname/db_dome';Buat tabel eksternal
adb_spark_db.tb_orderdi node ADB Spark SQL.CREATE TABLE IF NOT EXISTS adb_spark_db.tb_order(id int, name string, age int) USING parquet LOCATION 'oss://testBucketname/db_dome/tb1' TBLPROPERTIES ('parquet.compress'='SNAPPY');Kueri data.
Setelah tabel eksternal dibuat, Anda dapat menggunakan pernyataan SELECT di AnalyticDB for MySQL untuk mengkueri data Parquet.
SELECT * FROM adb_spark_db.tb_order limit 100;Buat tabel Delta Lake
adb_spark_db.raw_orderdi node ADB Spark SQL.CREATE TABLE IF NOT EXISTS adb_spark_db.raw_order(id int, name string, age int) USING delta;Impor data dari
adb_spark_db.tb_orderkeadb_spark_db.raw_order.INSERT INTO adb_spark_db.raw_order SELECT * FROM adb_spark_db.tb_order;Buat database di AnalyticDB for MySQL. Jika database sudah dibuat, Anda dapat melewati langkah ini. Berikut adalah contohnya:
CREATE DATABASE adb_demo;Buat tabel internal di AnalyticDB for MySQL untuk menyimpan data yang diimpor dari tabel Delta Lake. Berikut adalah contohnya:
CREATE TABLE adb_demo.order_xuanwu_format ( `id` int, `name` string, `age` int) using adb TBLPROPERTIES ( 'distributeType'='HASH', 'distributeColumns' = 'id', 'storagePolicy' = 'hot' );Impor data dari tabel Delta Lake
adb_spark_db.raw_orderkeorder_xuanwu_format.INSERT OVERWRITE adb_demo.order_xuanwu_format SELECT * FROM adb_spark_db.adb_spark_db.raw_order;
Langkah 3: Mengonfigurasi dan menjalankan node ADB Spark SQL
Di panel kanan, klik Debug Configuration untuk mengonfigurasi parameter waktu proses untuk node ADB Spark SQL.
Jenis Parameter
Parameter
Deskripsi
Computing Resource
Computing Resource
Pilih sumber daya komputasi AnalyticDB for Spark yang telah disambungkan.
ADB Compute Resource Group
Pilih kelompok sumber daya Interaktif dengan mesin Spark yang telah Anda buat di kluster AnalyticDB for MySQL.
DataWorks Configuration
Resource Group
Pilih kelompok sumber daya DataWorks yang lulus uji konektivitas saat Anda menyambungkan sumber daya komputasi AnalyticDB for Spark.
Computing CU
Node menggunakan nilai CU default. Anda tidak perlu mengubah CU tersebut.
Script Parameter
Parameter Name
Nama parameter yang Anda tentukan untuk node ADB Spark SQL. Misalnya, Anda dapat mengonfigurasi parameter
$[yyyymmdd]dalam skrip untuk melakukan sinkronisasi batch data harian baru. Untuk daftar parameter yang didukung beserta formatnya, lihat Mengonfigurasi Parameter Penjadwalan.CatatanSistem secara otomatis mendeteksi nama parameter yang dikonfigurasi dalam node.
Parameter Value
Konfigurasikan nilai parameter. Saat waktu proses, parameter akan diganti secara dinamis dengan nilai aktualnya.
(Opsional) Untuk menjalankan tugas node sesuai jadwal, di panel Scheduling Configuration di sisi kanan node, konfigurasikan parameter Computing Resource, ADB Computing Resource Group, dan Scheduling Resource Group di bagian Scheduling Policy. Lalu, konfigurasikan parameter di bagian Scheduling Parameters.
Setelah mengonfigurasi pengaturan debug, klik ikon
untuk menyimpan node SQL. Lalu, klik ikon
untuk menguji skrip SQL dan memverifikasi bahwa skrip tersebut berjalan sesuai harapan.Setelah konfigurasi penjadwalan selesai, Anda dapat mengirimkan dan menerbitkan node database ke lingkungan produksi.
Setelah tugas diterbitkan, tugas tersebut akan berjalan secara berkala berdasarkan parameter yang dikonfigurasi. Anda dapat melihat dan mengelola tugas yang dipicu otomatis yang telah diterbitkan di halaman . Untuk informasi selengkapnya, lihat Pengantar Pusat Operasi.
Menjadwalkan pekerjaan Spark JAR di DataWorks
Langkah 1: Membuat node ADB Spark
Buka halaman Ruang Kerja di Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Temukan ruang kerja yang diinginkan lalu pilih pada kolom Actions.
Klik ikon
di samping Project Folder, lalu pilih .Di kotak dialog yang muncul, masukkan nama untuk node tersebut lalu tekan Enter.
Langkah 2: Mengembangkan node ADB Spark
Node ADB Spark mendukung pengembangan dalam Java/Scala dan Python.
Pengembangan Java/Scala
Siapkan paket JAR contoh.
Anda dapat mengunduh paket JAR contoh spark-examples_2.12-3.2.0.jar untuk mengembangkan dan menjadwalkan node ADB Spark.
Unggah kode contoh
spark-examples_2.12-3.2.0.jarke bucket OSS yang berada di wilayah yang sama dengan kluster AnalyticDB for MySQL. Untuk informasi selengkapnya, lihat Mengunggah file menggunakan konsol.Konfigurasikan node ADB Spark.
Bahasa
Parameter
Deskripsi
Java/Scala
Main JAR Resource
Jalur penyimpanan paket JAR di OSS. Contoh:
oss://testBucketname/db_dome/spark-examples_2.12-3.2.0.jar.Main Class
Nama kelas utama yang akan dijalankan. Contoh:
com.work.SparkWork.Parameters
Masukkan parameter yang akan diteruskan ke kode.
Configuration Item
Konfigurasikan parameter waktu proses untuk aplikasi Spark. Untuk informasi selengkapnya, lihat Parameter konfigurasi aplikasi Spark.
Contoh:
spark.driver.resourceSpec: medium
Pengembangan Python
Siapkan data uji.
Buat file TXT bernama
data.txtyang ingin Anda baca menggunakan Spark. Tambahkan konten berikut ke file tersebut.Hello,Dataworks Hello,OSSTulis kode contoh.
Buat file bernama
spark_oss.py. Tambahkan konten berikut ke filespark_oss.py.import sys from pyspark.sql import SparkSession # Inisialisasi Spark. spark = SparkSession.builder.appName('OSS Example').getOrCreate() # Baca file yang ditentukan. Jalur file ditentukan oleh nilai yang diteruskan melalui args. textFile = spark.sparkContext.textFile(sys.argv[1]) # Hitung dan cetak jumlah baris dalam file. print("File total lines: " + str(textFile.count())) # Cetak baris pertama file. print("First line is: " + textFile.first())Unggah data uji
data.txtdan kode contohspark_oss.pyke bucket OSS yang berada di wilayah yang sama dengan kluster AnalyticDB for MySQL. Untuk informasi selengkapnya, lihat Mengunggah file menggunakan konsol.Konfigurasikan node ADB Spark.
Bahasa
Parameter
Deskripsi
Python
Main Program Package
Jalur OSS
spark_oss.pydari Langkah 3 contoh ini. Contoh:oss://testBucketname/db_dome/spark_oss.py.Parameters
Jalur OSS
data.txtdari Langkah 3 contoh ini. Contoh:oss://testBucketname/db_dome/data.txt.Configuration Item
Konfigurasikan parameter waktu proses untuk program Spark Anda. Untuk informasi selengkapnya, lihat Parameter konfigurasi aplikasi Spark.
Contoh:
spark.driver.resourceSpec: medium
Langkah 3: Mengonfigurasi dan menjalankan node ADB Spark
Di panel kanan, klik Debug Configuration untuk mengonfigurasi parameter waktu proses untuk node ADB Spark.
Jenis Parameter
Parameter
Deskripsi
Computing Resource
Computing Resource
Pilih sumber daya komputasi AnalyticDB for Spark yang telah disambungkan.
ADB Compute Resource Group
Pilih kelompok sumber daya Pekerjaan yang telah Anda buat di kluster AnalyticDB for MySQL.
DataWorks Configuration
Resource Group
Pilih kelompok sumber daya DataWorks yang lulus uji konektivitas saat Anda menyambungkan sumber daya komputasi AnalyticDB for Spark.
Computing CU
Node menggunakan nilai CU default. Anda tidak perlu mengubah CU tersebut.
Script Parameter
Parameter Name
Nama parameter yang Anda konfigurasikan dalam pekerjaan JAR ADB Spark.
CatatanSistem secara otomatis mendeteksi nama parameter yang dikonfigurasi dalam node.
Parameter Value
Konfigurasikan nilai parameter. Saat waktu proses, parameter akan diganti secara dinamis dengan nilai aktualnya.
(Opsional) Untuk menjalankan tugas node sesuai jadwal, di panel Scheduling Configuration di sisi kanan node, konfigurasikan parameter Computing Resource, ADB Computing Resource Group, dan Scheduling Resource Group di bagian Scheduling Policy. Lalu, konfigurasikan parameter di bagian Scheduling Parameters.
Setelah mengonfigurasi pengaturan debug, klik ikon
untuk menyimpan node. Lalu, klik ikon
untuk menguji skrip dan memverifikasi bahwa skrip tersebut berjalan sesuai harapan.Setelah menyelesaikan konfigurasi penjadwalan, Anda dapat menerbitkan node database ke lingkungan produksi.
Tugas yang dipicu otomatis yang telah diterbitkan akan berjalan secara berkala berdasarkan parameter yang dikonfigurasi. Anda dapat melihat dan mengelola tugas tersebut di halaman . Untuk informasi selengkapnya, lihat Pengantar Pusat Operasi.