Layanan Log Sederhana dapat mengirimkan log ke Object Storage Service (OSS) dan menyimpannya dalam format Optimized Row Columnar (ORC) untuk penyimpanan kolom dan analitik yang efisien.
Parameter
Saat Anda membuat pekerjaan pengiriman data OSS (versi baru), atur Storage Format ke orc. Kemudian, atur Compression ke snappy. Metode kompresi yang didukung mencakup none, snappy, gzip, dan zstd. Di bagian ORC Fields, tambahkan bidang dengan Key Name __topic__ dan Type string, serta bidang lain dengan Key Name concent dan Type string. Anda dapat mengklik tombol biru + untuk menambahkan bidang baru atau mengklik Delete untuk menghapus bidang yang sudah ada.
Tabel berikut menjelaskan parameter khusus ORC.
|
Parameter |
Deskripsi |
|
Key Name |
Field log yang akan dikirim ke OSS. Anda dapat melihat field yang tersedia di tab Raw Logs suatu Logstore. Tambahkan nama field satu per satu. Pekerjaan pengiriman mempertahankan urutan field dan menggunakan nama field tersebut sebagai nama kolom ORC. Field log yang dapat Anda kirim ke OSS mencakup field tereservasi seperti __time__, __topic__, dan __source__. Untuk informasi selengkapnya, lihat Reserved fields. Dalam kasus berikut, nilai kolom dalam file ORC bernilai null:
Catatan
|
|
Type |
Tipe data dari field log. Tipe ORC yang didukung: STRING, BOOLEAN, INT32, INT64, FLOAT, dan DOUBLE. Selama proses pengiriman, field log dikonversi dari STRING ke tipe ORC yang ditentukan. Jika konversi gagal, nilai kolom tersebut menjadi null. |
Contoh URL objek OSS
Log yang dikirimkan disimpan sebagai objek di bucket OSS. Tabel berikut menunjukkan contoh URL objek.
-
Jika Anda menentukan sufiks objek saat membuat pekerjaan pengiriman data, objek OSS akan menggunakan sufiks tersebut.
-
Jika Anda tidak menentukan sufiks objek saat membuat pekerjaan pengiriman data, objek OSS akan menggunakan sufiks yang dihasilkan berdasarkan jenis kompresi.
|
Jenis kompresi |
Sufiks objek |
Contoh URL |
Contoh |
|
Tidak dikompresi |
Jika Anda menentukan sufiks objek, sufiks yang ditentukan akan digunakan. Contoh: .suffix. |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.suffix |
Anda dapat mengunduh objek OSS ke komputer Anda dan menggunakan ORC tools untuk membuka objek tersebut. |
|
Jika Anda tidak menentukan sufiks objek, .orc digunakan sebagai sufiks objek. |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.orc |
||
|
Snappy |
Jika Anda menentukan sufiks objek, sufiks yang ditentukan akan digunakan. Contoh: .suffix. |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.suffix |
|
|
Jika Anda tidak menentukan sufiks objek, .snappy.orc digunakan sebagai sufiks objek. |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.snappy.orc |
||
|
Zstandard |
Jika Anda menentukan sufiks objek, sufiks yang ditentukan akan digunakan. Contoh: .suffix. |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.suffix |
|
|
Jika Anda tidak menentukan sufiks objek, .zst.orc digunakan sebagai sufiks objek. |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.zst.orc |
Konsumsi data
-
Anda dapat mengonsumsi data ORC yang dikirimkan ke OSS menggunakan E-MapReduce, Spark, atau Hive. Untuk informasi selengkapnya, lihat LanguageManual DDL.
-
Anda juga dapat memeriksa file ORC secara langsung dengan alat baris perintah.
Gunakan ORC tools untuk melihat metadata file ORC dan membaca datanya. Unduh orc-tools-1.7.2-uber.jar dari Repositori Maven untuk memverifikasi data yang telah dikirimkan.
-
Lihat metadata
-
Jalankan perintah berikut:
java -jar ~/Downloads/orc-tools-1.7.2-uber.jar meta -p file.orc -
Output:
Processing data file /Users/xx/file.orc [length: 200779] Structure for /Users/xx/file.orc File Version: 0.12 with ORC_CPP_ORIGINAL by ORC C++ 1.7.2 Rows: 124022 Compression: ZSTD Compression size: 65536 Calendar: Julian/Gregorian Type: struct<bucket:string,bucket_region:string> Stripe Statistics: Stripe 1: Column 0: count: 124022 hasNull: false Column 1: count: 124022 hasNull: false min: bucket0 max: sls-training-data sum: 1468133 Column 2: count: 0 hasNull: true File Statistics: Column 0: count: 124022 hasNull: false Column 1: count: 124022 hasNull: false min: bucket0 max: sls-training-data sum: 1468133 Column 2: count: 0 hasNull: true Stripes: Stripe: offset: 3 data: 199856 rows: 124022 tail: 97 index: 578 Stream: column 0 section ROW_INDEX start: 3 length 102 Stream: column 1 section ROW_INDEX start: 105 length 367 Stream: column 2 section ROW_INDEX start: 472 length 109 Stream: column 0 section PRESENT start: 581 length 25 Stream: column 1 section PRESENT start: 606 length 25 Stream: column 1 section LENGTH start: 631 length 38989 Stream: column 1 section DATA start: 39620 length 160794 Stream: column 2 section PRESENT start: 200414 length 23 Stream: column 2 section LENGTH start: 200437 length 0 Stream: column 2 section DATA start: 200437 length 0 Encoding column 0: DIRECT Encoding column 1: DIRECT_V2 Encoding column 2: DIRECT_V2 File length: 200779 bytes Padding length: 0 bytes Padding ratio: 0%
-
-
Baca data
-
Jalankan perintah berikut:
java -jar ~/Downloads/orc-tools-1.7.2-uber.jar data -n 5 file.orc -
Output:
Processing data file /Users/xx/file.orc [length: 200779] {"bucket":"bucket3","bucket_region":"cn-hangzhou"} {"bucket":"bucket3","bucket_region":"cn-hangzhou"} {"bucket":"bucket4","bucket_region":"cn-hangzhou"} {"bucket":"dashboard-bucket","bucket_region":"cn-hangzhou"} {"bucket":"bucket2","bucket_region":null}
-
Untuk informasi selengkapnya, jalankan perintah java -jar orc-tools-1.7.2-uber.jar atau lihat dokumentasi ORC tools.
-