Saat mengirim log dari Simple Log Service ke OSS dalam format Parquet, Anda perlu mengonfigurasi pemetaan bidang dan tipe datanya. Topik ini menjelaskan parameter pengiriman Parquet, path objek OSS, serta metode konsumsi data.
Versi lama pengiriman log ke OSS telah dihentikan. Lihat versi baru.
Parameter
Saat Anda mengonfigurasi aturan pengiriman dan menyetel Storage Format ke Parquet, konfigurasikan parameter berikut. Di bagian Parquet Fields, tambahkan dua bidang: tetapkan Key Name ke __topic__ dengan Type string, dan Key Name ke content dengan Type string. Klik + untuk menambahkan lebih banyak bidang atau Delete untuk menghapus bidang.
Tabel berikut menjelaskan setiap parameter.
|
Parameter |
Deskripsi |
|
Key Name |
Masukkan nama bidang (kunci) dari tab Raw Logs sesuai urutan yang Anda inginkan untuk dikirim. Kunci tersebut akan menjadi nama kolom Parquet. Selain kunci konten log, Anda dapat menggunakan bidang terpesan __time__, __topic__, dan __source__. Lihat Reserved fields. Nilai kolom akan bernilai null dalam kasus berikut.
Catatan
|
|
Type |
Tipe data yang didukung: string, boolean, int32, int64, float, dan double. Selama pengiriman, data string disimpan sebagai tipe fisik byte_array, dan Simple Log Service tidak menyetel field |
Path objek OSS
Objek log yang dikirim ke OSS menggunakan format path berikut.
|
Jenis kompresi |
Akhiran objek |
Contoh path objek |
Deskripsi |
|
Tidak dikompresi |
.parquet |
oss://oss-shipper-shenzhen/ecs_test/2016/01/26/20/54_1453812893059571256_937.parquet |
Unduh objek ke mesin lokal Anda. Lihat Konsumsi data. |
|
Snappy |
.snappy.parquet |
oss://oss-shipper-shenzhen/ecs_test/2016/01/26/20/54_1453812893059571256_937.snappy.parquet |
Konsumsi data
-
Gunakan E-MapReduce, Spark, atau Hive. Lihat dokumentasi komunitas.
-
Gunakan alat inspeksi lokal.
Instal utilitas Python parquet-tools untuk memvalidasi, menginspeksi, dan membaca file Parquet.
pip3 install parquet-tools-
Lihat kolom tertentu dalam file Parquet.
-
Perintah
Contoh: lihat kolom
remote_addrdanbody_bytes_sent:parquet-tools show -n 2 -c remote_addr,body_bytes_sent 44_1693464263000000000_2288ff590970d092.parquet -
Output
+----------------+-------------------+ | remote_addr | body_bytes_sent | |----------------+-------------------| | 61.243.1.63 | b'1904' | | 112.235.74.182 | b'4996' | +----------------+-------------------+
-
-
Atau, konversi file Parquet ke CSV:
-
Perintah
parquet-tools csv -n 2 44_1693464263000000000_2288ff590970d092.parquet -
Output
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 metadata file.
-
Perintah
parquet-tools inspect 44_1693464263000000000_2288ff590970d092.parquet -
Output
############ 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%) ......
-
-