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

Simple Log Service:ORCフォーマット

最終更新日:Aug 30, 2024

ログがSimple Log ServiceからObject Storage Service (OSS) に送信された後、ログはさまざまな形式のファイルとして保存できます。 このトピックでは、Optimized Row Columnar (ORC) 形式について説明します。

パラメーター

新しいバージョンのOSSデータシッピングジョブを作成するときにストレージフォーマットorcに設定した場合、次の図に示すようにパラメーターを設定する必要があります。 詳細については、「OSSデータ配布ジョブの作成 (新バージョン) 」をご参照ください。orc

下表に、各パラメーターを説明します。

パラメーター

説明

キー名

OSSに送信するログフィールドの名前。 ログストアの [生ログ] タブでログフィールドを表示できます。 ログフィールド名を1つずつ追加することを推奨します。 データ配布ジョブは、ORCデータを同じ順序で編成し、ログフィールド名をORCファイルの列名として使用します。

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

次の場合、ORCファイルの列の値はnullです。

  • 指定されたログフィールドはLogstoreに存在しません。

  • 指定されたログフィールドは、STRING型からDOUBLEやINT64などの非STRING型に変換されません。

説明
  • 各ログフィールドは、ORCフィールドとして1回だけ設定できます。

  • ログにrequest_timeなどの同じ名前の2つのフィールドが含まれている場合、log Serviceはいずれかのフィールドをrequest_time_0として表示します。 2つのフィールドは引き続きrequest_timeとしてLog Serviceに保存されます。 配送ルールを設定する場合、元のフィールド名request_timeのみを使用できます。

    ログに同じ名前のフィールドが含まれている場合、log Serviceはいずれかのフィールドの値をランダムに送信します。 同じ名前のフィールドをログに含めないことをお勧めします。

データ型

指定されたログフィールドのデータ型。 ORCファイルには、STRING、BOOLEAN、INT32、INT64、FLOAT、DOUBLEのデータを格納できます。

ログがSimple Log ServiceからOSSに送信されると、ログフィールドはSTRINGタイプからORCファイルでサポートされているデータタイプに変換されます。 ログフィールドの変換に失敗した場合、列の値はnullになります。

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

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

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

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

圧縮タイプ

オブジェクト接尾辞

サンプルURL

圧縮されていない

オブジェクトのサフィックスを指定すると、指定されたサフィックスが有効になります。 例: .suffix.

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

OSSオブジェクトをコンピューターにダウンロードし、ORCツールを使用してオブジェクトを開くことができます。

オブジェクトのサフィックスを指定しない場合は、orcはオブジェクトサフィックスとして使用されます。

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

スナッピー

オブジェクトのサフィックスを指定すると、指定されたサフィックスが有効になります。 例: .suffix.

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

オブジェクトのサフィックスを指定しない場合は、snappy.orcはオブジェクトサフィックスとして使用されます。

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

Zstandard

オブジェクトのサフィックスを指定すると、指定されたサフィックスが有効になります。 例: .suffix.

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

オブジェクトのサフィックスを指定しない場合は、zst.orcはオブジェクトサフィックスとして使用されます。

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

データ消費

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

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

    ORCツールを使用して、ORCファイルのメタデータを表示し、データを読み取ることができます。 maven repoorc-tools-1.7.2-uber.jarをダウンロードして、消費結果を確認することもできます。

    • メタデータの表示

      • 以下のコマンドを実行します。

        java -jar ~/Downloads/orc-tools-1.7.2-uber.jar meta -p file.orc
      • 出力:

        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%
    • データの読み取り

      • 以下のコマンドを実行します。

        java -jar ~/Downloads/orc-tools-1.7.2-uber.jar data -n 5 file.orc
      • 出力:

        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}

    詳細については、java -jar orc-tools-1.7.2-uber.jarコマンドを実行するか、ORCツールのドキュメントをご参照ください。