MaxCompute memungkinkan Anda menjadwalkan pekerjaan menggunakan alat ETL Kettle. Dengan antarmuka drag-and-drop-nya, Anda dapat mendefinisikan alur kerja pemrosesan data dan terhubung ke proyek MaxCompute melalui driver JDBC.
Informasi latar belakang
Kettle adalah alat ETL open-source yang ditulis dalam Java. Alat ini berjalan di Windows, Unix, dan Linux serta menyediakan GUI untuk membangun pipa data. Kettle mendukung berbagai sumber data, termasuk database seperti Oracle, MySQL, dan DB2, serta sistem data besar seperti HDFS, HBase, Cassandra, dan MongoDB.
Anda dapat membuat pekerjaan di Kettle untuk terhubung ke proyek MaxCompute, lalu menjadwalkannya sebagai bagian dari alur kerja ETL.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki hal-hal berikut:
-
Anda telah membuat proyek MaxCompute.
Untuk informasi selengkapnya, lihat Buat proyek MaxCompute.
-
Anda telah memperoleh ID AccessKey dan Rahasia AccessKey dengan izin untuk mengakses proyek MaxCompute.
Anda dapat membuka halaman AccessKey Management untuk memperoleh kredensial Anda.
-
Anda telah mengunduh driver JDBC MaxCompute (v3.2.8 atau yang lebih baru). Pastikan Anda mengunduh paket yang berisi semua dependensi, yang nama file-nya mengandung
jar-with-dependencies.Topik ini menggunakan driver JDBC MaxCompute v3.2.9 sebagai contoh.
-
Anda telah mengunduh paket instalasi Kettle dan mengekstraknya ke direktori lokal.
Topik ini menggunakan Kettle 8.2.0.0-342 sebagai contoh.
Prosedur
-
Langkah 1: Tempatkan Driver JDBC MaxCompute
Tempatkan driver JDBC MaxCompute di direktori driver Kettle.
-
Langkah 2: Terhubung ke Proyek MaxCompute
Hubungkan Kettle ke proyek MaxCompute Anda.
-
Langkah 3: Buat Alur Kerja Penjadwalan
Buat alur kerja penjadwalan pekerjaan di antarmuka Spoon.
-
Langkah 4: Jalankan Alur Kerja Penjadwalan
Jalankan alur kerja penjadwalan pekerjaan.
-
Langkah 5: Lihat Hasil Pekerjaan
Lihat hasil pekerjaan.
Langkah 1: Tempatkan driver JDBC MaxCompute
Tempatkan file JAR driver JDBC MaxCompute, seperti odps-jdbc-3.2.9-jar-with-dependencies.jar, ke direktori data-integration/lib pada instalasi Kettle Anda.
Langkah 2: Terhubung ke proyek MaxCompute
-
Di direktori
data-integrationpada instalasi Kettle Anda, klik gandaSpoon.bat(di Windows) atauSpoon(di macOS) untuk menjalankan Spoon. -
Dari bilah menu atas, pilih File > New > Job untuk membuat pekerjaan Kettle bagi alur kerja penjadwalan pekerjaan.
-
Pada tab View, klik kanan Database connections di pohon navigasi dan pilih Create.
-
Di kotak dialog Database Connection, pada tab General, konfigurasikan parameter seperti yang dijelaskan dalam tabel berikut.
Parameter
Deskripsi
Network Connection Name
Nama kustom untuk koneksi database. Misalnya, MaxCompute.
Connection type
Pilih Generic database.
Connection Method
Pilih Native (JDBC).
Dialect
Pilih Hadoop Hive 2.
Custom Connection URL
URL koneksi untuk proyek MaxCompute. Formatnya adalah
jdbc:odps:<maxcompute_endpoint>?project=<MaxCompute_project_name>. Hapus simbol<>saat mengonfigurasi URL. Parameter:-
<MaxCompute_endpoint>: Wajib diisi. Titik akhir Wilayah tempat proyek MaxCompute Anda berada.
Untuk daftar titik akhir, lihat Endpoints.
-
<MaxCompute_project_name>: Wajib diisi. Nama proyek MaxCompute tujuan.
Ini adalah nama proyek MaxCompute Anda, bukan ruang kerja. Anda dapat masuk ke Konsol MaxCompute, ganti Wilayah di pojok kiri atas, lalu temukan nama proyek di halaman Projects.
Custom Driver Class Name
Kelas driver JDBC. Atur nilai ini menjadi com.aliyun.odps.jdbc.OdpsDriver.
User Name
ID AccessKey Anda untuk proyek MaxCompute.
Anda dapat membuka halaman AccessKey Management untuk memperoleh ID AccessKey.
Password
Rahasia AccessKey Anda.
-
-
Klik Test. Setelah koneksi berhasil, klik OK di kotak dialog konfirmasi. Kemudian, klik Confirm di kotak dialog Confirm untuk menyimpan koneksi.
Langkah 3: Buat alur kerja penjadwalan
Pada tab Design di Spoon, bangun alur kerja penjadwalan pekerjaan dengan membuat dan menghubungkan objek inti.
Contoh berikut menjelaskan proses ETL yang menggunakan perintah LOAD untuk memuat data dari OSS ke tabel internal MaxCompute. Untuk data sampel, lihat LOAD. Pekerjaan dalam proses ini dibagi berdasarkan jenis objek inti sebagai berikut.

-
Di antarmuka Spoon, klik tab Design.
-
Berdasarkan pembagian objek sebelumnya, seret objek inti dari panel navigasi di sebelah kiri ke kanvas pekerjaan di sebelah kanan. Hubungkan objek inti dengan struktur berikut.
Untuk menghubungkan objek inti, pilih objek sumber, tekan dan tahan Shift, lalu klik objek tujuan untuk membuat hop koneksi.
Pilih tab Core Objects di panel kiri, buka kategori General dan kategori lainnya untuk mendapatkan komponen. Struktur koneksi adalah: Start → Create table → Load from OSS → Processing → Success (jalur sukses); atur juga jalur kegagalan dari Create table, Load from OSS, Processing ke node Abort job untuk penanganan error.
-
Klik kanan objek inti berbasis skrip dan pilih Edit job entry. Di kotak dialog SQL, konfigurasikan parameter yang tercantum dalam tabel berikut, lalu klik OK. Ulangi proses ini untuk mengonfigurasi semua objek inti berbasis skrip.
Parameter
Deskripsi
Job entry name
Nama entri pekerjaan. Misalnya, Create table, Load from OSS, atau Processing.
Connection
Nama koneksi database yang akan digunakan. Ini adalah koneksi database yang Anda buat di Langkah 2. Misalnya, MaxCompute.
Send SQL as single statement?
Jangan centang opsi ini.
SQL Script
Skrip SQL untuk entri pekerjaan. Skrip SQL untuk objek inti berbasis skrip dalam contoh ini adalah sebagai berikut:
-
Create table
CREATE TABLE ambulance_data_csv_load ( vehicleId INT, recordId INT, patientId INT, calls INT, locationLatitute DOUBLE, locationLongtitue DOUBLE, recordTime STRING, direction STRING); -
Load from OSS
LOAD OVERWRITE TABLE ambulance_data_csv_load FROM LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-test/data_location/' STORED BY 'com.aliyun.odps.CsvStorageHandler' WITH serdeproperties ( 'odps.properties.rolearn'='acs:ram::xxxxx:role/aliyunodpsdefaultrole', -- Nama Sumber Daya Alibaba Cloud dari AliyunODPSDefaultRole. Anda dapat memperolehnya dari Konsol RAM. 'odps.text.option.delimiter'=',' ); -
Processing
INSERT OVERWRITE TABLE ambulance_data_csv SELECT * FROM ambulance_data_csv_load;
-
Langkah 4: Jalankan alur kerja penjadwalan
-
Di antarmuka alur kerja penjadwalan pekerjaan, klik ikon run
di pojok kiri atas. Di kotak dialog Run Options, klik Execute.Di dialog tersebut, atur Run configuration menjadi Pentaho local, Log level menjadi Basic logging, biarkan Clear log before execution tetap dicentang secara default, dan biarkan opsi lainnya tetap default.
-
Opsi: Jika diminta menyimpan pekerjaan, klik Yes dan beri nama alur kerja penjadwalan pekerjaan (misalnya, mc).
-
Pantau status eksekusi di diagram DAG pada antarmuka alur kerja atau di bagian Execution Results. Alur kerja penjadwalan pekerjaan selesai ketika tanda centang hijau muncul pada setiap objek.
Saat alur kerja penjadwalan pekerjaan selesai, diagram DAG menampilkan tanda centang hijau pada node Create table, Load from OSS, Processing, dan Success. Area Execution Results menunjukkan hasil setiap entri pekerjaan bernilai true, dengan output akhir Job has ended.
Langkah 5: Lihat hasil pekerjaan
Setelah alur kerja penjadwalan pekerjaan selesai, jalankan kueri SQL untuk memverifikasi bahwa data telah ditulis ke tabel tujuan sesuai harapan.
-
Di antarmuka Spoon, klik tab View. Di bawah pekerjaan Kettle yang telah dibuat (misalnya, mc), buka Database connections.
-
Klik kanan koneksi database yang telah Anda buat (misalnya, MaxCompute) dan pilih SQL Editor.
-
Di kotak dialog Simple SQL editor, masukkan kueri SQL dan klik Execute. Hasilnya muncul di kotak dialog Examine preview data.
Kueri SQL-nya adalah sebagai berikut:
SELECT * FROM ambulance_data_csv;