全部产品
Search
文档中心

:Format Parquet

更新时间:Jul 02, 2025

Setelah log dikirim dari Simple Log Service ke Object Storage Service (OSS), log tersebut dapat disimpan dalam berbagai format. Topik ini menjelaskan format Parquet.

Penting

Versi lama pengiriman log ke OSS telah dihentikan. Lihat versi baru.

Parameter

Gambar berikut menunjukkan parameter yang perlu dikonfigurasi jika Anda menentukan parquet untuk Storage Format dalam aturan pengiriman. Untuk informasi lebih lanjut, lihat Kirim data log dari Simple Log Service ke OSS.Parquet字段配置

Tabel berikut menjelaskan parameter tersebut.

Parameter

Deskripsi

Nama Kunci

Nama field log yang ingin Anda kirim ke OSS. Anda dapat melihat field log pada tab Raw Logs dari sebuah logstore. Kami merekomendasikan Anda menambahkan field log satu per satu. Saat field log dikirim ke OSS, field log tersebut disimpan dalam file Parquet berdasarkan urutan penambahan mereka. Nama field log digunakan sebagai nama kolom dalam file Parquet. Field log yang dapat Anda kirim ke OSS mencakup field dalam konten log dan field cadangan seperti __time__, _topic__, dan __source__. Untuk informasi lebih lanjut tentang field cadangan, lihat Field cadangan. Nilai kolom dalam file Parquet adalah null dalam skenario berikut:

  • Field log tidak ada dalam log.

  • Mengatur field string menjadi tipe non-string (seperti double dan int64) menyebabkan kegagalan konversi tipe data selama pengiriman.

Catatan
  • Field log hanya dapat ditambahkan ke Parquet Fields sekali.

  • Jika sebuah log berisi dua field dengan nama yang sama, seperti request_time, Layanan Log menampilkan salah satu field sebagai request_time_0. Dua field tersebut tetap disimpan sebagai request_time di Layanan Log. Saat Anda mengonfigurasi aturan pengiriman, Anda hanya dapat menggunakan nama field asli request_time.

    Jika sebuah log berisi field dengan nama yang sama, Layanan Log secara acak mengirim nilai salah satu field. Kami merekomendasikan agar Anda tidak menyertakan field dengan nama yang sama dalam log Anda.

Tipe

Format Parquet mendukung penyimpanan data dari enam tipe: string, boolean, int32, int64, float, dan double. Setelah log dikirim, data tipe string disimpan sebagai tipe byte_array dalam Parquet, dan sistem tidak menetapkan nilai dari field logical_type dalam data Parquet.

Contoh URL Objek OSS

Setelah log dikirim ke OSS, log tersebut disimpan dalam Bucket OSS. Tabel berikut memberikan contoh URL objek OSS yang menyimpan log tersebut.

Tipe kompresi

Akhiran objek

Contoh URL

Deskripsi

Tidak dikompresi

.parquet

oss://oss-shipper-shenzhen/ecs_test/2016/01/26/20/54_1453812893059571256_937.parquet

Unduh objek OSS ke komputer Anda dan gunakan data dalam objek tersebut. Untuk informasi lebih lanjut, lihat Konsumsi data.

Snappy

.snappy.parquet

oss://oss-shipper-shenzhen/ecs_test/2016/01/26/20/54_1453812893059571256_937.snappy.parquet

Konsumsi Data

  • Konsumsi data yang dikirim ke OSS menggunakan E-MapReduce, Spark, atau Hive. Untuk informasi lebih lanjut, lihat LanguageManual DDL.

  • Konsumsi data menggunakan alat inspeksi.

    Gunakan parquet-tools yang disediakan oleh Python untuk 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 isi file Parquet (Ubah file menjadi 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

        ############ metadata file ############
        created_by: SLS version 1
        num_columns: 14
        num_rows: 4661
        num_row_groups: 1
        format_version: 1.0
        serialized_size: 2345
        
        
        ############ Kolom ############
        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
        
        ############ Kolom(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%)
        ......