AnalyticDB for MySQL menyediakan fitur AnalyticDB Pipeline Service (APS). Anda dapat menggunakan fitur ini untuk membuat tautan data Simple Log Service (SLS) guna menyinkronkan data secara real time dari Logstore ke kluster AnalyticDB for MySQL, mulai dari offset waktu tertentu. Fitur ini memenuhi kebutuhan seperti output data near real-time, pengarsipan lengkap data historis, dan analitik elastis. Topik ini menjelaskan cara menambahkan sumber data SLS, membuat tautan data SLS, memulai tugas sinkronisasi, melakukan analitik data, dan mengelola sumber data.
Prasyarat
Kluster AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, atau Edisi Danau Data Terpadu telah dibuat.
Kelompok sumber daya pekerjaan telah dibuat untuk kluster AnalyticDB for MySQL.
Akun database telah dibuat untuk kluster AnalyticDB for MySQL.
Jika Anda menggunakan akun Alibaba Cloud, cukup membuat akun istimewa.
Jika Anda menggunakan pengguna Resource Access Management (RAM), Anda harus membuat akun istimewa dan akun standar serta mengaitkan akun standar dengan pengguna RAM.
Simple Log Service telah diaktifkan, dan proyek serta Logstore telah dibuat di wilayah yang sama dengan kluster AnalyticDB for MySQL. Untuk informasi selengkapnya, lihat Kumpulkan dan analisis log teks ECS menggunakan LoongCollector.
Catatan
Satu tabel dalam kluster AnalyticDB for MySQL hanya dapat disinkronkan dengan satu Logstore di Simple Log Service.
Setelah data diingesti, operasi Commit harus dieksekusi agar data yang ditulis menjadi terlihat. Untuk mencegah interval operasi Commit yang terlalu pendek memengaruhi stabilitas pekerjaan dan kinerja baca-tulis, fitur sinkronisasi data AnalyticDB for MySQL memiliki interval operasi Commit default selama 5 menit. Oleh karena itu, saat Anda membuat dan memulai pekerjaan sinkronisasi data untuk pertama kalinya, Anda harus menunggu setidaknya 5 menit untuk melihat batch pertama data yang ditulis.
Informasi penagihan
Migrasi data ke OSS menggunakan fitur migrasi data AnalyticDB for MySQL dikenakan biaya berikut.
Biaya sumber daya elastis untuk AnalyticDB Compute Units (ACUs) di AnalyticDB for MySQL. Untuk informasi selengkapnya, lihat Item penagihan Edisi Danau Data Terpadu dan Item penagihan Edisi Perusahaan dan Edisi Dasar.
Biaya penyimpanan, permintaan GET, dan permintaan lain seperti PUT untuk OSS. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.
Prosedur
Langkah 1 (Opsional): Konfigurasikan otorisasi RAM.
Langkah 2: Buat sumber data.
Langkah 3: Buat tautan data.
Langkah 4: Mulai tugas sinkronisasi data.
Langkah 5: Lakukan analitik data.
Langkah 6 (Opsional): Kelola sumber data.
Konfigurasikan otorisasi RAM
Untuk menyinkronkan data SLS ke AnalyticDB for MySQL lintas akun Alibaba Cloud yang berbeda, Anda harus membuat peran Resource Access Management (RAM) di akun sumber, memberikan izin yang tepat kepada peran RAM tersebut, dan memodifikasi kebijakan kepercayaan peran RAM tersebut. Jika Anda menyinkronkan data SLS dalam akun yang sama, lewati langkah ini dan lanjutkan ke Buat sumber data.
Buat peran RAM. Untuk informasi selengkapnya, lihat Buat peran RAM untuk akun Alibaba Cloud.
CatatanSaat mengonfigurasi parameter Principal Name, pilih Other Account dan masukkan ID akun Alibaba Cloud yang berisi kluster AnalyticDB for MySQL. Anda dapat login ke Account Center dan melihat Account ID pada halaman Security Settings.
Berikan izin AliyunAnalyticDBAccessingLogRolePolicy kepada peran RAM tersebut. Untuk informasi selengkapnya, lihat Berikan izin yang tepat kepada peran RAM.
Modifikasi kebijakan kepercayaan peran RAM tersebut. Untuk informasi selengkapnya, lihat Modifikasi kebijakan kepercayaan peran RAM.
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<ID akun Alibaba Cloud>:root" ], "Service": [ "<ID akun Alibaba Cloud>@ads.aliyuncs.com" ] } } ], "Version": "1" }CatatanID akun Alibaba Cloud adalah ID akun Alibaba Cloud yang Anda tentukan pada Langkah 1. Jangan sertakan tanda kurung sudut (<>).
Buat sumber data
Jika Anda ingin menggunakan sumber data yang sudah ada, lewati langkah ini dan lanjutkan ke Buat tautan data.
Login ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster tersebut.
Di panel navigasi sebelah kiri, pilih Data Ingestion > Data Sources.
Di pojok kiri atas, klik Create Data Source.
Pada halaman Create Data Source, konfigurasikan parameter-parameter berikut. Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
Data Source Type
Pilih SLS.
Data Source Name
Sistem menghasilkan nama berdasarkan jenis sumber data dan waktu saat ini. Anda dapat mengubah nama sesuai kebutuhan.
Data Source Description
Deskripsi sumber data, misalnya skenario danau data terpadu atau batasan bisnis.
Deployment Mode
Saat ini, hanya Alibaba Cloud Instance yang didukung.
Region of Simple Log Service Project
Wilayah tempat proyek SLS berada.
Across Alibaba Cloud Accounts
Sumber data SLS mendukung sinkronisasi data dari akun Alibaba Cloud lain ke AnalyticDB for MySQL.
No: Sinkronkan data SLS dalam akun saat ini ke AnalyticDB for MySQL.
Yes: Sinkronkan data SLS dari akun lain ke AnalyticDB for MySQL. Jika Anda memilih opsi ini, Anda harus menentukan Alibaba Cloud Account dan RAM Role.
CatatanAlibaba Cloud Account: ID akun Alibaba Cloud tempat sumber data berada.
RAM Role: Nama peran RAM yang dibuat di akun sumber. Ini adalah peran RAM yang Anda buat pada Langkah 1.
Simple Log Service Project
Proyek SLS sumber.
PentingDaftar Proyek SLS menampilkan semua proyek di bawah akun Alibaba Cloud dan pengguna RAM-nya. Jika Anda memilih proyek yang dimiliki oleh akun Alibaba Cloud, pastikan pengguna RAM memiliki izin pada proyek tersebut. Jika tidak, data tidak dapat disinkronkan ke AnalyticDB for MySQL.
Simple Log Service Logstore
Logstore SLS sumber.
Setelah mengonfigurasi parameter, klik Create.
Buat tautan data
Di panel navigasi sebelah kiri, klik Simple Log Service/Kafka Data Synchronization.
Di pojok kiri atas, klik Create Synchronization Job.
Pada halaman Create Synchronization Job, konfigurasikan parameter Source and Destination Settings, Destination Database and Table Settings, dan Synchronization Settings.
Tabel berikut menjelaskan parameter Source and Destination.
Parameter
Deskripsi
Job Name
Nama tautan data. Sistem menghasilkan nama berdasarkan jenis sumber data dan waktu saat ini. Anda dapat mengubah nama sesuai kebutuhan.
Data Source
Pilih sumber data SLS yang sudah ada atau buat yang baru.
Destination Type
Opsi berikut didukung:
Data Lake - User OSS.
Data Lake - AnalyticDB Lake Storage (Direkomendasikan).
PentingSaat Anda memilih Data Lake - AnalyticDB Lake Storage, Anda harus mengaktifkan fitur penyimpanan danau.
ADB Lake Storage
AnalyticDB for MySQL Nama penyimpanan danau tempat data danau berada.
Pilih penyimpanan danau tujuan dari daftar drop-down. Jika belum ada penyimpanan danau yang dibuat, klik Automatically Created dalam daftar drop-down untuk membuatnya secara otomatis.
PentingParameter ini wajib diisi hanya ketika Destination Type diatur ke Data Lake - AnalyticDB Lake Storage.
OSS Path
AnalyticDB for MySQL Jalur penyimpanan di OSS untuk data danau data terpadu.
PentingParameter ini wajib diisi ketika Anda mengatur Destination Type ke Data Lake - User OSS.
Bucket yang ditampilkan adalah semua bucket di wilayah yang sama dengan kluster AnalyticDB for MySQL. Anda dapat memilih salah satunya. Rencanakan jalur penyimpanan dengan cermat. Anda tidak dapat mengubahnya setelah pembuatan.
Pilih folder kosong. Jalur OSS tidak boleh memiliki hubungan awalan dengan jalur OSS tugas lain untuk mencegah data ditimpa. Misalnya, jika jalur OSS untuk dua tugas sinkronisasi data adalah
oss://testBucketName/test/sls1/danoss://testBucketName/test/, keduanya memiliki hubungan awalan, yang akan menyebabkan data ditimpa selama sinkronisasi data.
Storage Format
Format penyimpanan data. Opsi berikut didukung:
PAIMON.
PentingFormat ini hanya didukung ketika Destination Type diatur ke Data Lake - User OSS.
ICEBERG.
Tabel berikut menjelaskan parameter Destination Database and Table Settings.
Parameter
Deskripsi
Database Name
Nama database tujuan di AnalyticDB for MySQL. Jika database dengan nama yang sama belum ada, database baru akan dibuat. Jika database dengan nama yang sama sudah ada, data akan disinkronkan ke database yang sudah ada. Untuk informasi selengkapnya tentang konvensi penamaan, lihat Batasan.
PentingDalam bagian Source and Destination Settings, jika Anda mengatur Storage Format ke PAIMON, database yang sudah ada harus memenuhi kondisi berikut. Jika tidak, tugas sinkronisasi data akan gagal.
Harus merupakan database eksternal. Pernyataan untuk membuat database harus berupa
CREATE EXTERNAL DATABASE<database_name>.Parameter `DBPROPERTIES` dalam pernyataan `CREATE DATABASE` harus mencakup properti
catalog, dan nilaicatalogharuspaimon.Parameter `DBPROPERTIES` dalam pernyataan `CREATE DATABASE` harus mencakup properti
adb.paimon.warehouse. Contoh:adb.paimon.warehouse=oss://testBucketName/aps/data.Parameter `DBPROPERTIES` dalam pernyataan `CREATE DATABASE` harus mencakup properti
LOCATION, dan Anda harus menambahkan.dbsetelah nama database. Jika tidak, kueri XIHE akan gagal. Contoh:LOCATION=oss://testBucketName/aps/data/kafka_paimon_external_db.db/.Direktori bucket dalam jalur OSS yang dikonfigurasi untuk
LOCATIONharus sudah ada. Jika tidak, pembuatan database akan gagal.
Table Name
Nama tabel tujuan di AnalyticDB for MySQL. Jika tabel dengan nama yang sama belum ada di database, tabel baru akan dibuat. Jika tabel dengan nama yang sama sudah ada, sinkronisasi data akan gagal. Untuk informasi selengkapnya tentang konvensi penamaan, lihat Batasan.
Schema Field Mapping
Secara default, bidang diambil dari konfigurasi tugas pengiriman Simple Log Service. Jika tidak ada tugas pengiriman yang dikonfigurasi untuk Logstore, bidang diambil dari data log terbaru secara default.
Tipe data yang didukung: BOOLEAN, INT, BIGINT, FLOAT, DOUBLE, dan STRING.
Sinkronisasi bidang terpesan SLS didukung. Untuk informasi selengkapnya, lihat Bidang terpesan.
PentingModifikasi nama bidang tujuan tidak didukung.
Jika tugas telah dimulai (berjalan atau selesai), Anda tidak dapat memodifikasi kolom yang sudah ada, tetapi Anda dapat menambahkan kolom baru. Jika tugas telah dibuat tetapi belum dimulai, Anda dapat memodifikasi kolom-kolom tersebut.
Partition Key Settings
Tetapkan kunci partisi untuk tabel tujuan. Kami merekomendasikan mengonfigurasi partisi berdasarkan waktu log atau logika bisnis untuk memastikan kinerja ingesti dan kueri data. Jika Anda tidak menetapkan kunci partisi, tabel tujuan tidak akan memiliki partisi secara default.
Anda dapat memformat kunci partisi tujuan menggunakan format waktu atau dengan menentukan bidang partisi.
Untuk mempartisi berdasarkan tanggal dan waktu, pilih bidang tanggal-waktu sebagai nama bidang partisi. Untuk metode penanganan format, pilih Time Formatting, lalu pilih format bidang sumber dan format partisi tujuan. AnalyticDB for MySQL mengidentifikasi nilai bidang partisi berdasarkan format bidang sumber dan mengonversinya ke format partisi tujuan untuk partisi. Misalnya, jika bidang sumber adalah gmt_created dengan nilai 1711358834, format bidang sumber adalah timestamp presisi tingkat detik, dan format partisi tujuan adalah yyyyMMdd, data akan dipartisi berdasarkan 20240325.
Untuk mempartisi berdasarkan nilai bidang, pilih Specify Partition Field sebagai metode penanganan format.
Tabel berikut menjelaskan parameter Synchronization Settings.
Parameter
Deskripsi
Starting Consumer Offset for Incremental Synchronization
Saat tugas sinkronisasi dimulai, tugas tersebut mengonsumsi data SLS dari titik waktu yang dipilih. Nilai yang valid:
Earliest offset (begin_cursor): Secara otomatis mengonsumsi data dari titik waktu paling awal dalam data SLS.
Latest offset (end_cursor): Secara otomatis mengambil data dari titik waktu paling akhir dalam data SLS.
Custom offset: Anda dapat memilih titik waktu apa pun. Sistem mulai mengonsumsi data dari entri pertama di SLS yang sama dengan atau setelah waktu ini.
Job Resource Group
Tentukan kelompok sumber daya pekerjaan tempat tugas dijalankan.
ACUs for Incremental Synchronization
Tentukan jumlah ACUs untuk kelompok sumber daya pekerjaan. Jumlah minimum ACUs adalah 2, dan maksimum adalah sumber daya komputasi maksimum yang tersedia di kelompok sumber daya pekerjaan. Kami merekomendasikan menentukan jumlah ACUs yang lebih tinggi untuk meningkatkan kinerja ingesti data dan stabilitas tugas.
CatatanSaat Anda membuat tugas sinkronisasi data, tugas tersebut menggunakan sumber daya elastis dari kelompok sumber daya pekerjaan. Tugas sinkronisasi data menempati sumber daya dalam waktu lama, sehingga sistem mengurangi sumber daya yang digunakan oleh tugas tersebut dari kelompok sumber daya. Misalnya, jika kelompok sumber daya pekerjaan memiliki maksimum 48 ACUs dan Anda telah membuat tugas sinkronisasi yang menggunakan 8 ACUs, jumlah maksimum ACUs yang dapat Anda pilih untuk tugas sinkronisasi lain dalam kelompok sumber daya ini adalah 40.
Advanced Settings
Konfigurasi lanjutan memungkinkan Anda menyesuaikan tugas sinkronisasi. Untuk menggunakan konfigurasi khusus, hubungi dukungan teknis.
Setelah mengonfigurasi parameter, klik Submit.
Mulai tugas sinkronisasi data
Pada halaman Simple Log Service/Kafka Data Synchronization, temukan tugas sinkronisasi data yang telah Anda buat dan klik Start di kolom Actions.
Di pojok kiri atas, klik Search. Tugas berhasil dimulai ketika statusnya berubah menjadi Running.
Analitik data
Setelah data disinkronkan, Anda dapat menggunakan fitur pengembangan Spark Jar untuk menganalisis data di AnalyticDB for MySQL. Untuk informasi selengkapnya tentang pengembangan Spark, lihat Editor pengembangan Spark dan Pengembangan aplikasi Spark offline.
Di panel navigasi sebelah kiri, pilih .
Masukkan pernyataan contoh dalam templat default dan klik Run Now.
-- Berikut ini hanya contoh SparkSQL. Ubah kontennya dan jalankan program spark Anda. conf spark.driver.resourceSpec=medium; conf spark.executor.instances=2; conf spark.executor.resourceSpec=medium; conf spark.app.name=Spark SQL Test; conf spark.adb.connectors=oss; -- Berikut adalah pernyataan sql Anda show tables from lakehouse20220413156_adbTest;(Opsional): Pada tab Applications, klik Logs di kolom Actions untuk melihat log eksekusi pekerjaan Spark SQL.
Kelola sumber data
Di panel navigasi sebelah kiri, pilih Data Ingestion > Data Sources. Anda dapat melakukan operasi berikut di kolom Actions.
Operasi | Deskripsi |
Create Job | Berpindah cepat ke halaman pembuatan tugas sinkronisasi atau migrasi data untuk sumber data ini. |
View | Lihat konfigurasi detail sumber data. |
Edit | Edit properti sumber data, seperti nama dan deskripsinya. |
Delete | Hapus sumber data saat ini. Catatan Jika terdapat tugas sinkronisasi atau migrasi data untuk sumber data tersebut, Anda tidak dapat langsung menghapus sumber data. Anda harus terlebih dahulu membuka halaman Simple Log Service/Kafka Data Synchronization, temukan tugas sinkronisasi yang dituju, lalu klik Delete di kolom Actions untuk menghapus tugas sinkronisasi atau migrasi data tersebut. |