Simple Log Service dapat menyimpan log yang dikirimkan ke Object Storage Service (OSS) dalam berbagai format. Topik ini membahas format penyimpanan Parquet.
Parameter
Saat Anda membuat pekerjaan pengiriman data OSS (versi baru), atur Storage Format menjadi Parquet. Pada bagian Parquet Fields, tentukan Key Name dan Type untuk setiap field. Misalnya, tambahkan field dengan Key Name __topic__ dan Type string, serta field lain dengan Key Name concent dan Type string. Klik tombol + untuk menambahkan baris field baru.
Tabel berikut menjelaskan parameter khusus Parquet.
|
Parameter |
Deskripsi |
|
Key Name |
Nama field log yang akan dikirimkan ke OSS. Anda dapat menemukan field log yang tersedia di tab Raw Logs suatu Logstore. Kami menyarankan agar Anda menambahkan field log satu per satu. Field tersebut disimpan dalam file Parquet sesuai urutan penambahan, dan nama field menjadi nama kolom dalam file Parquet. Field log yang dapat dikirimkan ke OSS mencakup field terlestarikan, seperti __time__, __topic__, dan __source__. Untuk informasi selengkapnya, lihat Reserved fields. Nilai kolom dalam file Parquet bernilai null dalam skenario berikut:
Catatan
|
|
Type |
Format Parquet mendukung tipe data berikut: string, boolean, int32, int64, float, dan double. Field string disimpan sebagai tipe byte_array dalam Parquet, dan field |
Contoh URL objek OSS
Setelah log dikirimkan ke OSS, log tersebut disimpan dalam bucket OSS. Tabel berikut menampilkan 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 |
Deskripsi |
|
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 mengonsumsi datanya. Untuk informasi selengkapnya, lihat Konsumsi data. |
|
Jika Anda tidak menentukan sufiks objek, sufiks .parquet akan digunakan. |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.parquet |
||
|
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, sufiks .snappy.parquet akan digunakan. |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.snappy.parquet |
||
|
Gzip |
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, sufiks .gz.parquet akan digunakan. |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.gz.parquet |
||
|
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, sufiks .zst.parquet akan digunakan. |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.zst.parquet |
Konsumsi data
-
Anda dapat mengonsumsi data yang dikirimkan ke OSS menggunakan E-MapReduce, Spark, atau Hive. Untuk informasi selengkapnya, lihat LanguageManual DDL.
-
Anda juga dapat mengonsumsi data menggunakan alat inspeksi.
Anda dapat menggunakan utilitas parquet-tools untuk Python guna memeriksa file Parquet, melihat detail file, dan membaca data. Instal utilitas tersebut dengan menjalankan perintah berikut atau menggunakan metode lain:
pip3 install parquet-tools-
Lihat data kolom dalam file Parquet
-
Perintah
Lihat data kolom remote_addr dan body_bytes_sent.
parquet-tools show -n 2 -c remote_addr,body_bytes_sent 44_1693464263000000000_2288ff590970d092.parquet -
Respons
+----------------+-------------------+ | remote_addr | body_bytes_sent | |----------------+-------------------| | 61.243.1.63 | b'1904' | | 112.235.74.182 | b'4996' | +----------------+-------------------+
-
-
Lihat konten dalam file Parquet (Ubah file ke format CSV.)
-
Perintah
parquet-tools csv -n 2 44_1693464263000000000_2288ff590970d092.parquet -
Respons
remote_addr,body_bytes_sent,time_local,request_method,request_uri,http_user_agent,remote_user,request_time,request_length,http_referer,host,http_x_forwarded_for,upstream_response_time,status b'61.**.**.63',b'1904',b'31/Aug/2023:06:44:01',b'GET',b'/request/path-0/file-7',"b'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.801.0 Safari/535.1'",b'uh2z',b'49',b'4082',b'www.kwm.mock.com',b'www.ap.mock.com',b'222.**.**.161',b'2.63',b'200' b'112.**.**.182',b'4996',b'31/Aug/2023:06:44:01',b'GET',b'/request/path-1/file-5',b'Mozilla/5.0 (Windows NT 6.1; de;rv:12.0) Gecko/20120403211507 Firefox/12.0',b'tix',b'71',b'1862',b'www.gx.mock.com',b'www.da.mock.com',b'36.**.**.237',b'2.43',b'200'
-
-
Lihat detail file Parquet
-
Perintah
parquet-tools inspect 44_1693464263000000000_2288ff590970d092.parquet -
Respons
############ file meta data ############ created_by: SLS version 1 num_columns: 14 num_rows: 4661 num_row_groups: 1 format_version: 1.0 serialized_size: 2345 ############ Columns ############ remote_addr body_bytes_sent time_local request_method request_uri http_user_agent remote_user request_time request_length http_referer host http_x_forwarded_for upstream_response_time status ############ Column(remote_addr) ############ name: remote_addr path: remote_addr max_definition_level: 1 max_repetition_level: 0 physical_type: BYTE_ARRAY logical_type: None converted_type (legacy): NONE compression: UNCOMPRESSED (space_saved: 0%) ......
-
-