Topik ini menjelaskan cara membuat tabel eksternal untuk mengaitkan Simple Log Service dengan sumber data OSS.
Prasyarat
Anda telah mengumpulkan log. Untuk informasi lebih lanjut, lihat Pengumpulan Data.
Anda telah mengaktifkan dan mengonfigurasi indeks. Untuk informasi lebih lanjut, lihat Buat Indeks.
Anda telah membuat Bucket OSS. Untuk informasi lebih lanjut, lihat Buat Bucket di Konsol.
Anda telah mengunggah file dalam format CSV ke Bucket OSS. Untuk informasi lebih lanjut, lihat Unggah File di Konsol.
PentingAnda dapat mengaitkan beberapa file OSS. Ukuran maksimum untuk satu file adalah 50 MB. Kompresi tidak didukung. Ekspresi reguler tidak didukung untuk parameter.
Manfaat
Menanyakan dan menganalisis data dengan mengaitkannya dengan sumber data OSS memberikan manfaat berikut:
Penghematan Biaya: Anda dapat menyimpan data yang jarang diakses di OSS. Anda hanya membayar untuk penyimpanan berbiaya rendah dan dapat membaca data melalui jaringan internal untuk menghindari biaya transfer data.
Mengurangi Beban Kerja O&M: Anda dapat menggunakan platform analitik federasi ringan tanpa perlu memindahkan data ke sistem penyimpanan tunggal.
Penghematan Waktu: Anda dapat menganalisis data menggunakan SQL dan melihat hasilnya dalam hitungan detik. Anda juga dapat menyimpan kueri analitik yang sering digunakan sebagai laporan untuk melihat hasilnya secara langsung.
Prosedur
Masuk ke Konsol Simple Log Service.
Di bagian Projects, klik yang Anda inginkan.

Di tab , klik logstore yang Anda inginkan.

Masukkan kueri dan pernyataan analitik, lalu klik Query/Analysis.
Definisikan tabel virtual eksternal dan peta ke file OSS menggunakan pernyataan SQL.
* | create table <Penyimpanan Eksternal> (<Skema>) with (endpoint='oss-cn-${your_region_name}-internal.aliyuncs.com',accessid='yourAccessKeyID',accesskey ='yourAccessKeySecret',bucket='<nama bucket Anda>',objects=ARRAY['my.csv'],type='oss')Dalam kueri dan pernyataan analitik, definisikan nama, skema, dan informasi lainnya untuk tabel eksternal. Gunakan klausa WITH untuk menentukan akses OSS dan informasi file. Tabel berikut menjelaskan parameter tersebut.
Item Konfigurasi
Deskripsi
Contoh
Nama Penyimpanan Eksternal
Nama tabel eksternal, yaitu nama tabel virtual.
user_meta1
Skema Tabel
Menentukan properti tabel, termasuk nama kolom dan format.
(userid bigint, nick varchar, gender varchar, province varchar, age bigint)
endpoint
Titik akhir OSS. Untuk informasi lebih lanjut, lihat Wilayah dan Titik Akhir.
PentingGunakan titik akhir internal. Titik akhir publik tidak didukung.
oss-cn-hangzhou-internal.aliyuncs.com
accessid
ID AccessKey dan Rahasia AccessKey dari Akun Alibaba Cloud. Gunakan Pasangan Kunci Akses Pengguna Resource Access Management (RAM) yang memiliki izin untuk mengakses sumber data OSS. Untuk informasi lebih lanjut tentang cara memberikan izin kepada Pengguna RAM, lihat Berikan izin kepada Pengguna RAM. Untuk informasi lebih lanjut tentang cara mendapatkan Pasangan Kunci Akses, lihat Pasangan Kunci Akses.
LTAI****************
accesskey
yourAccessKeySecret
bucket
Nama Bucket OSS tempat file CSV disimpan.
examplebucket
objects
Mendukung file CSV dan folder OSS. Parameter objects adalah array yang dapat berisi beberapa file atau folder. Catatan:
Saat Anda menentukan folder, nama harus diakhiri dengan garis miring (/). Jika Anda menentukan folder, seperti
test_dir/, tabel eksternal dikaitkan dengan semua file CSV di folder itu dalam bucket yang ditentukan.Batas: Total jumlah file dari semua jenis tidak boleh melebihi 100.
'user.csv'
'test_dir/'
'user.csv','test_dir/','my_dir/'
type
Nilainya tetap oss. Ini menunjukkan bahwa tipe penyimpanan eksternal adalah OSS.
oss
Berikut adalah contoh perintah:
* | create table user_meta1 ( userid bigint, nick varchar, gender varchar, province varchar, age bigint) with ( endpoint='oss-cn-hangzhou.aliyuncs.com',accessid='yourAccessKeyID',accesskey='yourAccessKeySecret',bucket='examplebucket',objects=ARRAY['my.csv'],type='oss')Jika bidang result adalah true, operasi berhasil.

Verifikasi bahwa tabel eksternal telah didefinisikan.
Jalankan pernyataan berikut. Dalam pernyataan tersebut, `Penyimpanan Eksternal` adalah nama tabel eksternal yang Anda definisikan di Langkah 4. Jika isi tabel dikembalikan, tabel eksternal berhasil didefinisikan.
* | select * from <Penyimpanan Eksternal>Gunakan klausa JOIN untuk melakukan kueri terfederasi pada data di Simple Log Service dan OSS.
Sebagai contoh, Anda dapat menjalankan pernyataan analitik berikut untuk mengaitkan bidang `userid` dalam log Simple Log Service dengan bidang `userid` dalam file OSS untuk memperkaya informasi log.
CatatanLog yang dikumpulkan harus berisi parameter `userid`.
* | select * from <logstore> l join <Penyimpanan Eksternal> u on l.userid = u.useridItem Konfigurasi
Deskripsi
Contoh
Logstore
Nama Logstore yang ingin Anda tanyakan.
test_logstore
Penyimpanan Eksternal
Nama tabel eksternal yang Anda definisikan di Langkah 4.
user_meta1

Untuk informasi lebih lanjut tentang praktik terbaik, lihat Mengaitkan Logstore dengan Tabel Asing OSS untuk Kueri dan Analisis.