Topik ini menjelaskan cara menjalankan kueri terfederasi untuk menganalisis data dari Logstore dan file CSV terkelola.
Prasyarat
-
Log telah dikumpulkan. Untuk informasi selengkapnya, lihat Pengumpulan data.
-
Indeks telah dikonfigurasi. Untuk informasi selengkapnya, lihat Buat indeks.
-
File CSV telah dibuat.
-
Log Service Python SDK telah diinstal. Untuk informasi selengkapnya, lihat Instal Log Service Python SDK.
Log Service mendukung aliyun-log-python-sdk versi 0.7.3 ke atas. Anda dapat menjalankan perintah pip install aliyun-log-python-sdk -U untuk memperbarui SDK.
Batasan
-
Anda hanya dapat mengasosiasikan satu file CSV.
-
Ukuran maksimum file CSV adalah 50 MB. SDK akan mengompresi file tersebut sebelum mengunggahnya ke Log Service. File terkompresi harus berukuran kurang dari 9,9 MB.
Contoh
Sebagai contoh, Anda dapat menggunakan Logstore untuk mencatat operasi login pengguna dan file CSV untuk menyimpan informasi dasar pengguna, seperti jenis kelamin dan usia. Dengan mengasosiasikan Logstore dan file CSV tersebut, Anda dapat menganalisis aktivitas pengguna berdasarkan atribut-atributnya.
-
Logstore
userid:100001 action:login __time__:1637737306 -
File CSV

Prosedur
-
Buat ExternalStore dengan Python SDK.
Untuk informasi selengkapnya tentang Python SDK, lihat Ikhtisar Python SDK.
from aliyun.log import * endpoint='cn-shanghai.log.aliyuncs.com' accessKeyId='test-project' accessKey='TAI****YDw' project='lr****VM' ext_logstore='user_meta' csv_file='./user.csv' client = LogClient(endpoint, accessKeyId, accessKey) res = client.create_external_store(project, ExternalStoreCsvConfig(ext_logstore, csv_file, [ {"name" : "userid", "type" : "bigint"}, {"name" : "nick", "type" : "varchar"}, {"name" : "gender", "type" : "varchar"}, {"name" : "province", "type" : "varchar"}, {"name" : "age", "type" : "bigint"} ])) res.log_print()Parameter
Deskripsi
endpoint
Titik akhir layanan Log Service. Untuk informasi selengkapnya, lihat Service Endpoints.
accessKeyId
ID AccessKey Akun Alibaba Cloud Anda. Untuk informasi selengkapnya, lihat Pasangan Kunci Akses.
PeringatanKami menyarankan Anda menggunakan pasangan AccessKey milik RAM user untuk mengurangi risiko kebocoran pasangan AccessKey Anda.
accessKey
Secret AccessKey Akun Alibaba Cloud Anda. Untuk informasi selengkapnya, lihat Pasangan Kunci Akses.
project
Proyek tempat Logstore tujuan berada.
ext_logstore
Nama ExternalStore, yang juga berfungsi sebagai nama tabel virtual. Nama tersebut harus mengikuti aturan berikut:
-
Hanya boleh berisi huruf kecil, angka, tanda hubung (-), dan garis bawah (_).
-
Harus diawali dan diakhiri dengan huruf kecil atau angka.
-
Panjangnya harus antara 3 hingga 63 karakter.
csv_file
Jalur dan nama file CSV lokal.
Skema tabel
Skema tabel virtual, yang mencakup nama kolom dan tipe datanya. Kode berikut merupakan contoh. Sesuaikan nilainya agar sesuai dengan data Anda.
[ {"name" : "userid", "type" : "bigint"}, {"name" : "nick", "type" : "varchar"}, {"name" : "gender", "type" : "varchar"}, {"name" : "province", "type" : "varchar"}, {"name" : "age", "type" : "bigint"} ] -
Masuk ke Konsol Simple Log Service.
Pada bagian Projects, klik proyek yang diinginkan.

Pada tab , klik logstore yang diinginkan.

-
Verifikasi pembuatan ExternalStore.
Di sini,
user_metaadalah nama ExternalStore. Ganti dengan nama yang sebenarnya.* | SELECT * FROM user_metaJika kueri mengembalikan isi file CSV, hal tersebut menunjukkan bahwa ExternalStore berhasil dibuat.

-
Lakukan join antara Logstore dan file CSV.
Pada contoh ini, kueri terfederasi dibuat dengan menggunakan bidang userid di Logstore dan bidang userid di file CSV. Di sini,
website_logadalah nama Logstore danuser_metaadalah ExternalStore yang telah Anda definisikan. Ganti dengan nilai aktual Anda.* | SELECT * FROM website_log JOIN user_meta ON website_log.userid = user_meta.userid