Simple Log Service memungkinkan Anda mengunggah file CSV dari komputer ke Simple Log Service menggunakan SDK. Dengan cara ini, file CSV di-host pada Simple Log Service dan dapat dikaitkan dengan Logstore dari Simple Log Service. Topik ini menjelaskan cara melakukan kueri JOIN pada file CSV yang di-host di Simple Log Service dan data dalam Logstore Simple Log Service.
Prasyarat
Log telah dikumpulkan. Untuk informasi lebih lanjut, lihat Metode Pengumpulan Log.
Indeks telah dibuat. Untuk informasi lebih lanjut, lihat Buat Indeks.
File CSV telah dibuat.
SDK Simple Log Service untuk Python telah diinstal. Untuk informasi lebih lanjut, lihat Instal Simple Log Service SDK untuk Python.
Versi aliyun-log-python-sdk V0.7.3 dan yang lebih baru didukung. Anda dapat menggunakan perintah pip install aliyun-log-python-sdk -U untuk memperbarui SDK.
Batasan
Hanya satu file CSV yang dapat dikaitkan pada satu waktu.
Anda dapat mengaitkan Simple Log Service dengan file CSV yang berisi tidak lebih dari 50 MB data. File CSV diunggah ke Simple Log Service setelah dikompres menggunakan SDK. Ukuran file setelah kompresi harus kurang dari 9,9 MB.
Data contoh
Logstore menyimpan operasi login pengguna, dan file CSV mencatat informasi dasar pengguna, seperti jenis kelamin dan usia. Setelah Anda mengaitkan Logstore dengan file CSV, Anda dapat menganalisis metrik untuk properti pengguna.
Logstore
userid:100001 action:login __time__:1637737306File CSV

Prosedur
Gunakan Simple Log Service SDK untuk Python untuk membuat penyimpanan eksternal.
Untuk informasi lebih lanjut tentang Simple Log Service SDK untuk Python, lihat Ikhtisar.
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"}, null ])) res.log_print()Parameter
Deskripsi
Titik akhir
Titik akhir Simple Log Service. Untuk informasi lebih lanjut, lihat Titik akhir.
ID AccessKey
ID AccessKey dari akun Alibaba Cloud Anda. Untuk informasi lebih lanjut, lihat Pasangan AccessKey.
PeringatanKami merekomendasikan agar Anda menggunakan pasangan AccessKey dari pengguna RAM untuk memanggil operasi API. Ini mengurangi risiko yang disebabkan oleh kebocoran pasangan AccessKey.
accessKey
Rahasia AccessKey dari akun Alibaba Cloud Anda. Untuk informasi lebih lanjut, lihat Pasangan AccessKey.
Proyek
Proyek tempat Logstore berada.
ext_logstore
Nama penyimpanan eksternal, yang sama dengan nama tabel eksternal virtual. Nama tersebut harus memenuhi persyaratan berikut:
Nama hanya dapat berisi huruf kecil, angka, tanda hubung (-), dan garis bawah (_).
Nama harus dimulai dan diakhiri dengan huruf kecil atau angka.
Nama harus memiliki panjang 3 hingga 63 karakter.
csv_file
Jalur dan nama file CSV.
Skema tabel
Properti tabel eksternal virtual, termasuk nama kolom dan tipe data. Skema tabel berikut adalah contoh. Anda dapat mengganti skema tabel sesuai dengan kebutuhan bisnis Anda.
[ {"name" : "userid", "type" : "bigint"}, {"name" : "nick", "type" : "varchar"}, {"name" : "gender", "type" : "varchar"}, {"name" : "province", "type" : "varchar"}, null ]Masuk ke Konsol Simple Log Service.
Pada bagian Proyek, klik yang ingin Anda kelola.

Pada tab , klik Logstore yang ingin Anda kelola.

Jalankan pernyataan berikut untuk memeriksa apakah penyimpanan eksternal telah dibuat.
Dalam pernyataan berikut,
user_metamenentukan nama penyimpanan eksternal. Ganti nilainya dengan nama yang Anda tentukan saat membuat penyimpanan eksternal.* | SELECT * FROM user_metaJika isi file CSV dikembalikan, penyimpanan eksternal telah dibuat.

Jalankan pernyataan berikut untuk melakukan kueri JOIN pada Logstore dan file CSV.
Logstore dikaitkan dengan file CSV berdasarkan bidang userid di Logstore dan bidang userid di file CSV. website_log adalah nama Logstore. user_meta adalah nama penyimpanan eksternal yang Anda buat. Anda dapat mengonfigurasi parameter berdasarkan kebutuhan bisnis Anda.
* | SELECT * FROM website_log JOIN user_meta ON website_log.userid = user_meta.userid