Setelah log dikirim dari Simple Log Service ke Object Storage Service (OSS), log tersebut dapat disimpan sebagai file dalam berbagai format. Topik ini menjelaskan format Optimized Row Columnar (ORC).
Parameter
Jika Anda mengatur Storage Format menjadi orc saat membuat pekerjaan pengiriman data OSS versi baru, Anda harus mengonfigurasi parameter seperti yang ditunjukkan pada gambar berikut. Untuk informasi lebih lanjut, lihat Buat pekerjaan pengiriman data OSS (versi baru).
Tabel berikut menjelaskan parameter.
Parameter | Deskripsi |
Key Name | Nama field log yang ingin Anda kirim ke OSS. Anda dapat melihat field log di tab Raw Logs dari sebuah Logstore. Kami menyarankan Anda menambahkan nama field log satu per satu. Pekerjaan pengiriman data mengatur data ORC dalam urutan yang sama dan menggunakan nama field log sebagai nama kolom file ORC. Field log yang dapat Anda kirim ke OSS mencakup field cadangan seperti __time__, __topic__, dan __source__. Untuk informasi lebih lanjut, lihat Field cadangan. Dalam kasus berikut, nilai kolom dalam file ORC adalah null:
Catatan
|
Type | Tipe data dari field log yang ditentukan. Tipe data berikut dapat disimpan dalam file ORC: STRING, BOOLEAN, INT32, INT64, FLOAT, dan DOUBLE. Saat log dikirim dari Simple Log Service ke OSS, field log dikonversi dari tipe STRING ke tipe data yang didukung dalam file ORC. Jika field log gagal dikonversi, nilai kolomnya adalah null. |
Contoh URL Objek OSS
Setelah log dikirim ke OSS, log tersebut disimpan di bucket OSS. Tabel berikut memberikan contoh URL objek OSS yang menyimpan log.
Jika Anda menentukan akhiran objek saat membuat pekerjaan pengiriman data, objek OSS menggunakan akhiran tersebut.
Jika Anda tidak menentukan akhiran objek saat membuat pekerjaan pengiriman data, objek OSS menggunakan akhiran yang dihasilkan berdasarkan jenis kompresi.
Jenis kompresi | Akhiran objek | Contoh URL | Contoh |
Tidak dikompresi | Jika Anda menentukan akhiran objek, akhiran yang ditentukan berlaku. 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 alat ORC untuk membuka objek. |
Jika Anda tidak menentukan akhiran objek, .orc digunakan sebagai akhiran objek. | oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.orc | ||
Snappy | Jika Anda menentukan akhiran objek, akhiran yang ditentukan berlaku. Contoh: .suffix. | oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.suffix | |
Jika Anda tidak menentukan akhiran objek, .snappy.orc digunakan sebagai akhiran objek. | oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.snappy.orc | ||
Zstandard | Jika Anda menentukan akhiran objek, akhiran yang ditentukan berlaku. Contoh: .suffix. | oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.suffix | |
Jika Anda tidak menentukan akhiran objek, .zst.orc digunakan sebagai akhiran objek. | oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.zst.orc |
Konsumsi Data
Anda dapat mengonsumsi data yang dikirim ke OSS menggunakan E-MapReduce, Spark, atau Hive. Untuk informasi lebih lanjut, lihat LanguageManual DDL.
Anda juga dapat mengonsumsi data menggunakan alat inspeksi.
Anda dapat menggunakan alat ORC untuk melihat metadata file ORC dan membaca data. Anda juga dapat mengunduh orc-tools-1.7.2-uber.jar di maven repo untuk memverifikasi hasil konsumsi.
Lihat metadata
Jalankan perintah berikut:
java -jar ~/Downloads/orc-tools-1.7.2-uber.jar meta -p file.orcOutput:
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.orcOutput:
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 lebih lanjut, jalankan perintah java -jar orc-tools-1.7.2-uber.jar atau lihat dokumentasi alat ORC.