すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Parquet フォーマット

最終更新日:Jun 17, 2026

Simple Log Service (SLS) では、Object Storage Service (OSS) へ転送するログを複数のフォーマットで保存できます。本トピックでは、Parquet ストレージフォーマットについて説明します。

パラメータ

OSS データ転送ジョブ (新バージョン) を作成する際に、[ストレージ形式][Parquet] に設定します。 Parquet フィールドセクションで、各フィールドの[キー名][タイプ]を設定します。 たとえば、[キー名]__topic__[タイプ][string]のフィールドと、[キー名]concent[タイプ][string]の別のフィールドを追加します。 [+] ボタンをクリックして、新しいフィールド行を追加します。

次の表では、Parquet 固有のパラメータについて説明します。

パラメータ

説明

[キー名]

OSS に転送するログフィールドの名前です。利用可能なログフィールドは、Logstore の [Raw Logs] タブで確認できます。ログフィールドを 1 つずつ追加することをお勧めします。フィールドは追加した順序で Parquet ファイルに保存され、フィールド名は Parquet ファイルの列名になります。

OSS へ転送できるログフィールドには、__time____topic____source__ などの予約済みフィールドが含まれます。詳細については、「予約済みフィールド」をご参照ください。

次の場合、Parquet ファイルのカラム値は null になります。

  • 指定されたフィールド名が Logstore に存在しない場合。

  • 文字列フィールドが double や int64 などの非文字列型に設定されており、転送中にデータ型変換が失敗した場合。

説明
  • ログフィールドは [Parquet フィールド]に 1 回のみ追加できます。

  • ログに重複するフィールド名(例:2 つの request_time フィールド)が含まれる場合、Log Service はコンソール上で一方を request_time_0 として表示することがあります。ただし、内部で保存されている実際の名前は request_time のままです。転送ルールを設定する際は、元のフィールド名 request_time を使用してください。

    フィールド名が重複している場合、システムはランダムにいずれか 1 つの値のみを転送します。結果を確実に予測できるようにするため、フィールド名の重複は避けてください。

[タイプ]

Parquet フォーマットは、次のデータ型をサポートします:文字列、ブール、int32、int64、float、double。文字列フィールドは、Parquet では byte_array 型として保存され、Parquet データ内の logical_type フィールドは設定されません。

OSS オブジェクトの URL サンプル

ログが OSS に転送されると、OSS バケットに保存されます。次の表に、オブジェクト URL のサンプルを示します。

説明
  • データ転送ジョブの作成時にオブジェクトサフィックスを指定した場合、OSS オブジェクトはそのサフィックスを使用します。

  • データ転送ジョブの作成時にオブジェクトサフィックスを指定しなかった場合、OSS オブジェクトは圧縮タイプに基づいて生成されたサフィックスを使用します。

圧縮タイプ

オブジェクトサフィックス

URL サンプル

説明

圧縮なし

オブジェクトサフィックスを指定した場合、指定したサフィックスが使用されます。例:.suffix。

oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.suffix

OSS オブジェクトをコンピュータにダウンロードして、そのデータを利用できます。詳細については、「データ消費」をご参照ください。

オブジェクトサフィックスを指定しなかった場合、サフィックス .parquet が使用されます。

oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.parquet

Snappy

オブジェクトサフィックスを指定した場合、指定したサフィックスが使用されます。例:.suffix。

oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.suffix

オブジェクトサフィックスを指定しなかった場合、サフィックス .snappy.parquet が使用されます。

oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.snappy.parquet

Gzip

オブジェクトサフィックスを指定した場合、指定したサフィックスが使用されます。例:.suffix。

oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.suffix

オブジェクトサフィックスを指定しなかった場合、サフィックス .gz.parquet が使用されます。

oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.gz.parquet

Zstandard

オブジェクトサフィックスを指定した場合、指定したサフィックスが使用されます。例:.suffix。

oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.suffix

オブジェクトサフィックスを指定しなかった場合、サフィックス .zst.parquet が使用されます。

oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.zst.parquet

データ消費

  • OSS に転送されたデータは、E-MapReduce、Spark、または Hive を使用して利用できます。詳細については、「LanguageManual DDL」をご参照ください。

  • 検査ツールを使用してデータを利用することもできます。

    Python 用の parquet-tools ユーティリティを使用して、Parquet ファイルを検査し、ファイルの詳細を表示し、データを読み取ることができます。次のコマンドを実行するか、別の方法でユーティリティをインストールします。

    pip3 install parquet-tools
    • Parquet ファイル内のカラムのデータを表示する

      • コマンド

        remote_addr カラムと body_bytes_sent カラムのデータを表示します。

        parquet-tools show -n 2 -c remote_addr,body_bytes_sent 44_1693464263000000000_2288ff590970d092.parquet
      • 応答

        +----------------+-------------------+
        | remote_addr    |   body_bytes_sent |
        |----------------+-------------------|
        | 61.243.1.63    |           b'1904' |
        | 112.235.74.182 |           b'4996' |
        +----------------+-------------------+
    • Parquet ファイルの内容を表示する (ファイルを CSV フォーマットに変換)

      • コマンド

        parquet-tools csv -n 2 44_1693464263000000000_2288ff590970d092.parquet
      • 応答

        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'
    • Parquet ファイルの詳細を表示する

      • コマンド

        parquet-tools inspect 44_1693464263000000000_2288ff590970d092.parquet
      • 応答

        ############ 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%)
        ......