AnalyticDB for MySQL menyediakan AnalyticDB Pipeline Service (APS) untuk sinkronisasi data secara real time. Anda dapat membuat tugas sinkronisasi untuk mengingesti data dari Logstore AnalyticDB for MySQL ke kluster AnalyticDB for MySQL, dimulai dari offset tertentu. APS mendukung analitik hampir real-time, pengarsipan lengkap data historis, dan analisis elastis.
Prasyarat
Kluster AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse telah dibuat.
Kelompok sumber daya tugas 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.
-
Anda telah mengaktifkan Simple Log Service (SLS) dan membuat proyek serta Logstore di wilayah yang sama dengan kluster AnalyticDB for MySQL. Untuk informasi selengkapnya, lihat Gunakan LoongCollector untuk mengumpulkan dan menganalisis log teks instance ECS.
Catatan penggunaan
-
Setiap tabel dalam kluster AnalyticDB for MySQL hanya dapat disinkronkan dengan satu Logstore dari SLS.
-
Setelah data diingesti, operasi commit diperlukan agar data terlihat. Untuk memastikan stabilitas tugas dan kinerja baca/tulis optimal, fitur sinkronisasi data AnalyticDB for MySQL menggunakan interval commit default 5 menit. Oleh karena itu, setelah membuat dan menjalankan tugas sinkronisasi data, Anda harus menunggu minimal 5 menit untuk melihat batch data pertama.
Penagihan
Sinkronisasi data melalui AnalyticDB for MySQL dikenakan biaya berikut:
-
Biaya sumber daya elastis untuk ACU AnalyticDB for MySQL. Untuk informasi selengkapnya, lihat Penagihan Edisi Data Lakehouse dan Penagihan Edisi Perusahaan dan Edisi Dasar.
-
Biaya untuk OSS, termasuk biaya penyimpanan dan biaya permintaan GET, PUT, dan lainnya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.
Prosedur
-
Langkah 1 (Opsional): Konfigurasikan otorisasi Resource Access Management (RAM).
-
Langkah 2: Buat sumber data.
-
Langkah 3: Buat tugas sinkronisasi.
-
Langkah 4: Jalankan tugas sinkronisasi.
-
Langkah 5: Analisis data.
-
Langkah 6 (Opsional): Kelola sumber data.
Konfigurasikan otorisasi Resource Access Management (RAM)
Untuk menyinkronkan data SLS ke AnalyticDB for MySQL lintas akun Alibaba Cloud, Anda harus membuat peran RAM di akun sumber, memberikan izin yang diperlukan, dan memodifikasi kebijakan kepercayaan. 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 tepercaya.
CatatanSaat mengonfigurasi parameter Select Trusted Alibaba Cloud Account, pilih Another Alibaba Cloud Account dan masukkan ID akun Alibaba Cloud tempat kluster AnalyticDB for MySQL berada. Anda dapat membuka Account Center dan melihat Account ID pada halaman Overview.
-
Berikan izin AliyunAnalyticDBAccessingLogRolePolicy kepada peran RAM. Untuk informasi selengkapnya, lihat Berikan izin kepada peran RAM.
-
Modifikasi kebijakan kepercayaan peran RAM. Untuk informasi selengkapnya, lihat Modifikasi kebijakan kepercayaan peran RAM.
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<Alibaba Cloud Account ID>:root" ], "Service": [ "<Alibaba Cloud Account ID>@ads.aliyuncs.com" ] } } ], "Version": "1" }CatatanID Akun Alibaba Cloud adalah ID yang Anda masukkan pada Langkah 1. Jangan sertakan tanda kurung sudut (<>) saat mengonfigurasi parameter.
Buat sumber data
Jika Anda sudah memiliki sumber data, lewati langkah ini dan lanjutkan ke Buat tugas sinkronisasi.
Masuk 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 berikut.
Parameter
Deskripsi
Data Source Type
Pilih SLS.
Data Source Name
Dibuat otomatis berdasarkan jenis sumber data dan waktu saat ini. Anda dapat mengubah nama sesuai kebutuhan.
Data Source Description
Deskripsi sumber data, seperti skenario aplikasi dan batasan bisnis.
Deployment Mode
Hanya Alibaba Cloud Instance yang didukung.
Region of Simple Log Service Project
Wilayah tempat proyek SLS berada.
Across Alibaba Cloud Accounts
Apakah akan menyinkronkan data dari sumber data SLS di akun Alibaba Cloud yang berbeda.
-
Akun yang sama: Menyinkronkan data SLS dari akun saat ini ke AnalyticDB for MySQL.
-
Lintas akun: Menyinkronkan data SLS dari akun berbeda ke AnalyticDB for MySQL. Saat memilih untuk menyinkronkan data lintas akun, Anda harus memasukkan Alibaba Cloud Account dan RAM Role.
Catatan-
Alibaba Cloud Account: ID akun Alibaba Cloud pemilik data sumber.
-
RAM Role: Nama peran RAM yang dibuat di akun sumber. Ini adalah peran RAM yang Anda buat pada Langkah 1 bagian "Konfigurasikan otorisasi RAM".
-
Simple Log Service Project
Proyek SLS sumber.
PentingDaftar Proyek SLS menampilkan semua proyek milik akun Alibaba Cloud dan pengguna RAM-nya. Jika Anda memilih proyek milik akun Alibaba Cloud, pastikan pengguna RAM memiliki izin atas 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 tugas sinkronisasi
-
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 pada langkah Source and Destination Settings, Destination Database and Table Settings, dan Synchronization Settings.
-
Tabel berikut menjelaskan parameter untuk Source and Destination.
Parameter
Deskripsi
Job Name
Nama tugas sinkronisasi. Dibuat otomatis 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 yang didukung:
-
Data Lake - User OSS.
-
Data Lake - AnalyticDB Lake Storage (direkomendasikan).
PentingJika Anda memilih Data Lake - AnalyticDB Lake Storage, Anda harus terlebih dahulu mengaktifkan lake storage.
ADB Lake Storage
Nama lake storage tempat data AnalyticDB for MySQL disimpan.
Pilih lake storage tujuan dari daftar drop-down. Jika belum ada lake storage, klik Automatically Created dalam daftar drop-down untuk membuatnya.
PentingParameter ini wajib diisi hanya jika Anda mengatur Destination Type ke Data Lake - AnalyticDB Lake Storage.
OSS Path
Jalur penyimpanan di OSS untuk data lakehouse AnalyticDB for MySQL.
Penting-
Parameter ini wajib diisi hanya jika Destination Type diatur ke Data Lake - User OSS.
-
Daftar drop-down menampilkan semua bucket di wilayah yang sama dengan kluster AnalyticDB for MySQL. Anda dapat memilih salah satunya. Rencanakan jalur penyimpanan dengan cermat. Anda tidak dapat mengubah jalur ini setelah tugas dibuat.
-
Kami menyarankan Anda memilih direktori kosong. Jalur OSS tidak boleh merupakan awalan dari jalur OSS tugas sinkronisasi lain, atau sebaliknya. Hal ini mencegah data ditimpa. Misalnya, jika dua tugas sinkronisasi memiliki jalur OSS
oss://testBucketName/test/sls1/danoss://testBucketName/test/, maka kedua jalur tersebut memiliki hubungan awalan, sehingga data berisiko ditimpa selama sinkronisasi.
Storage Format
Format penyimpanan data. Opsi yang didukung:
-
PAIMON.
PentingFormat ini hanya didukung jika Destination Type diatur ke Data Lake - User OSS.
-
ICEBERG.
-
-
Tabel berikut menjelaskan parameter untuk Destination Database and Table Settings.
Parameter
Deskripsi
Database Name
Nama database tujuan di AnalyticDB for MySQL. Jika database dengan nama yang ditentukan belum ada, database baru akan dibuat. Jika database dengan nama tersebut sudah ada, data akan disinkronkan ke database yang sudah ada. Untuk informasi lebih lanjut tentang konvensi penamaan, lihat Batasan.
PentingPada bagian Source and Destination Settings, jika Storage Format diatur ke PAIMON, database yang sudah ada harus memenuhi kondisi berikut. Jika tidak, tugas sinkronisasi akan gagal:
-
Database harus merupakan database eksternal. Pernyataan
CREATE DATABASEharus berupaCREATE EXTERNAL DATABASE <database_name>. -
Klausa
DBPROPERTIESdalam pernyataanCREATE DATABASEharus mencakup properticatalog, dan nilaicatalogharuspaimon. -
Klausa
DBPROPERTIESharus mencakup propertiadb.paimon.warehouse. Contoh:adb.paimon.warehouse=oss://testBucketName/aps/data. -
Klausa
DBPROPERTIESharus mencakup propertiLOCATION, dan Anda harus menambahkan.dbke nama database dalam jalur tersebut. Jika tidak, kueri XIHE akan gagal. Contoh:LOCATION='oss://testBucketName/aps/data/kafka_paimon_external_db.db/'.Untuk jalur OSS yang ditentukan oleh
LOCATION, bucket dan direktori harus sudah ada. Jika tidak, pembuatan database akan gagal.
Table Name
Nama tabel tujuan di AnalyticDB for MySQL. Jika tabel dengan nama yang ditentukan belum ada di database, tabel baru akan dibuat. Jika tabel dengan nama tersebut sudah ada di database, sinkronisasi data akan gagal. Untuk informasi lebih lanjut tentang konvensi penamaan, lihat Batasan.
Schema Field Mapping
Secara default, bidang diambil dari konfigurasi tugas pengiriman SLS. Jika tidak ada tugas pengiriman yang dikonfigurasi untuk Logstore, bidang diambil dari data log terbaru.
-
Tipe data yang didukung: BOOLEAN, INT, BIGINT, FLOAT, DOUBLE, dan STRING.
-
Bidang terpesan SLS juga dapat disinkronkan. Untuk informasi selengkapnya, lihat Reserved fields.
Penting-
Anda tidak dapat mengubah nama bidang tujuan.
-
Jika tugas sudah pernah dijalankan (termasuk tugas yang sedang berjalan atau telah selesai), Anda tidak dapat mengubah informasi kolom yang sudah ada, tetapi Anda dapat menambahkan kolom baru. Jika tugas telah dibuat tetapi belum dijalankan, Anda dapat memodifikasinya sesuai kebutuhan.
Partition Key Settings
Tetapkan kunci partisi untuk tabel tujuan. Kami menyarankan Anda melakukan partisi berdasarkan waktu log atau logika bisnis untuk meningkatkan kinerja ingesti dan kueri data. Jika Anda tidak mengatur parameter ini, tabel tujuan tidak akan dipartisi secara default.
Anda dapat memformat kunci partisi tujuan berdasarkan waktu atau berdasarkan bidang partisi tertentu.
-
Untuk mempartisi data berdasarkan tanggal dan waktu, pilih bidang tanggal/waktu sebagai bidang kunci partisi. Untuk metode pemformatan, pilih pemformatan waktu, lalu tentukan format bidang sumber dan format partisi tujuan. AnalyticDB for MySQL menggunakan format bidang sumber untuk mengenali nilai bidang tersebut, lalu mengonversinya ke format partisi tujuan. Misalnya, jika bidang sumber adalah
gmt_createddengan nilai1711358834, format bidang sumber adalah timestamp dengan presisi detik, dan format partisi tujuan adalahyyyyMMdd, maka data dipartisi berdasarkan20240325. -
Untuk mempartisi data berdasarkan nilai bidang, pilih Specify partition field sebagai metode pemformatan.
-
-
Tabel berikut menjelaskan parameter untuk Synchronization Settings.
Parameter
Deskripsi
Starting Consumer Offset for Incremental Synchronization
Offset tempat tugas sinkronisasi mulai mengonsumsi data SLS. Opsi:
-
Earliest offset (begin_cursor): Mengonsumsi data dari offset paling awal yang tersedia di Logstore.
-
Latest offset (end_cursor): Mengonsumsi data mulai dari offset terbaru di Logstore.
-
Custom: Anda dapat memilih titik waktu apa pun. Sistem mulai mengonsumsi data dari catatan pertama di SLS yang berada pada atau setelah titik waktu tersebut.
Job Resource Group
Kelompok sumber daya yang menjalankan tugas sinkronisasi.
ACUs for Incremental Synchronization
Tentukan jumlah AnalyticDB Compute Units (ACU) dalam Kelompok Sumber Daya Tugas untuk tugas tersebut. Nilai minimum adalah 2. Nilai maksimum adalah jumlah sumber daya komputasi yang tersedia di Kelompok Sumber Daya Tugas. Kami menyarankan mengalokasikan lebih banyak ACU untuk meningkatkan kinerja ingesti dan stabilitas tugas.
CatatanSaat Anda membuat tugas sinkronisasi data, tugas tersebut menggunakan sumber daya elastis dalam Kelompok Sumber Daya Tugas. Tugas sinkronisasi data menggunakan sumber daya dalam jangka waktu lama, sehingga sistem mengurangi sumber daya yang digunakan oleh tugas tersebut dari Kelompok Sumber Daya Tugas. Misalnya, jika Kelompok Sumber Daya Tugas memiliki maksimum 48 ACU dan tugas sinkronisasi yang sudah ada menggunakan 8 ACU, jumlah maksimum ACU yang tersedia untuk tugas lain dalam Kelompok Sumber Daya Tugas yang sama adalah 40.
Advanced Settings
Pengaturan lanjutan untuk menyesuaikan tugas sinkronisasi. Hubungi dukungan teknis jika Anda perlu melakukan konfigurasi khusus.
-
-
-
Setelah mengonfigurasi parameter, klik Submit.
Jalankan tugas sinkronisasi data
-
Pada halaman Simple Log Service/Kafka Data Synchronization, pilih tugas sinkronisasi data dan klik Start di kolom Actions.
-
Klik Search di pojok kiri atas. Tugas berhasil dijalankan jika statusnya berubah menjadi Running.
Analisis data
Setelah tugas sinkronisasi berhasil selesai, Anda dapat menggunakan pengembangan Spark Jar untuk menganalisis data di AnalyticDB for MySQL. Untuk informasi selengkapnya tentang pengembangan Spark, lihat Editor pengembangan Spark dan Pengembangan aplikasi offline Spark.
-
Di panel navigasi sebelah kiri, klik .
-
Pada templat default, masukkan pernyataan contoh dan klik Run Now.
-- Here is just an example of SparkSQL. Modify the content and run your spark program. 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; -- Here are your sql statements show tables from lakehouse20220413156_adbTest; -
Opsi: Pada tab Applications, klik Logs di kolom Actions untuk melihat log eksekusi tugas Spark SQL.
Kelola sumber data
Di panel navigasi sebelah kiri, klik Data Ingestion>Data Sources. Anda dapat melakukan tindakan berikut di kolom Actions.
|
Tindakan |
Deskripsi |
|
Create Job |
Membuat tugas sinkronisasi data atau migrasi data untuk sumber data tersebut. |
|
View |
Menampilkan konfigurasi detail sumber data. |
|
Edit |
Memungkinkan Anda mengedit properti sumber data, seperti nama dan deskripsinya. |
|
Delete |
Menghapus sumber data. Catatan
Anda tidak dapat menghapus sumber data yang memiliki tugas sinkronisasi atau migrasi data terkait. Anda harus terlebih dahulu menghapus tugas tersebut pada halaman Simple Log Service/Kafka Data Synchronization. Untuk melakukannya, temukan tugas yang dituju, lalu di kolom Actions, klik Delete. |