Fitur transformasi data dari Simple Log Service memungkinkan Anda memperoleh data dari database ApsaraDB RDS for MySQL dan memperkaya data berdasarkan aturan transformasi data.
Informasi latar belakang
Saat menganalisis data, Anda mungkin perlu memperoleh data dari berbagai sumber penyimpanan. Sebagai contoh, data operasi pengguna dan perilaku pengguna disimpan di Simple Log Service, sedangkan data properti pengguna dan pendaftaran disimpan di database ApsaraDB RDS for MySQL. Dalam kasus ini, Anda dapat menggunakan fitur transformasi data untuk memperoleh data dari database dan menyimpannya di dalam Logstore.
Anda dapat menggunakan fungsi res_rds_mysql untuk memperoleh data dari database ApsaraDB RDS for MySQL dan kemudian menggunakan fungsi e_table_map untuk memperkaya data.
Instans tempat database ApsaraDB RDS for MySQL Anda dibuat harus berada di wilayah yang sama dengan Proyek Simple Log Service Anda. Jika tidak, Anda tidak akan dapat memperoleh data dari database tersebut.
Anda dapat mengakses dan memperoleh data dari database ApsaraDB RDS for MySQL menggunakan titik akhir internal dari instans tempat database tersebut dibuat. Untuk informasi lebih lanjut, lihat Gunakan Simple Log Service untuk Terhubung ke Instans ApsaraDB RDS for MySQL untuk Pengayaan Data.
Gunakan fungsi e_table_map untuk memperkaya data
Dalam contoh ini, fungsi e_table_map dan res_rds_mysql digunakan untuk memperkaya data.
Data Mentah
Contoh catatan data dalam tabel database ApsaraDB RDS for MySQL
provinsi
kota
populasi
cid
eid
Shanghai
Shanghai
2.000
1
00001
Tianjin
Tianjin
800
1
00002
Beijing
Beijing
4.000
1
00003
Henan
Zhengzhou
3.000
2
00004
Jiangsu
Nanjing
1.500
2
00005
Contoh log di dalam Logstore Simple Log Service
time:"1566379109" data:"test-one" cid:"1" eid:"00001" time:"1566379111" data:"test_second" cid:"1" eid:"12345" time:"1566379111" data:"test_three" cid:"2" eid:"12345" time:"1566379113" data:"test_four" cid:"2" eid:"12345"
Aturan Transformasi
Anda dapat mengonfigurasi aturan transformasi untuk mencocokkan bidang cid di Logstore dengan bidang cid di tabel. Jika nilai dari bidang cid sama antara Logstore dan tabel, sebuah log cocok dengan catatan data. Kemudian, sistem mengembalikan bidang provinsi, kota, dan populasi serta nilai-nilai bidang untuk catatan data yang cocok di tabel, dan menggabungkan data yang dikembalikan dengan log yang cocok di Logstore untuk menghasilkan log baru.
CatatanJika beberapa nilai dari suatu bidang cocok di tabel, fungsi e_table_map hanya memperoleh catatan data pertama. Dalam contoh ini, bidang cid di tabel memiliki beberapa nilai 1.
e_table_map(res_rds_mysql(address="rds-host", username="mysql-username",password="xxx",database="xxx",table="xx",refresh_interval=60),"cid",["province","city","population"])Untuk informasi lebih lanjut tentang cara mengonfigurasi database ApsaraDB RDS for MySQL di dalam fungsi res_rds_mysql, lihat res_rds_mysql.
Hasil Transformasi
time:"1566379109" data:"test-one" cid:"1" eid:"00001" province:"Shanghai" city:"Shanghai" population:"2000" time:"1566379111" data:"test_second" cid:"1" eid:"12345" province:"Shanghai" city:"Shanghai" population:"2000" time:"1566379111" data:"test_three" cid:"2" eid:"12345" province:"Henan" city:"Zhengzhou" population:"3000" time:"1566379113" data:"test_four" cid:"2" eid:"12345" province:"Henan" city:"Zhengzhou" population:"3000"