本ドキュメントでは、 Object Storage Service (OSS) に転送される Log Service ログを格納する Parquet ストレージに関する設定を紹介します。 OSS へのログの転送の詳細については、OSS へのログの転送をご参照ください。

Parquet ストレージを構成

データ型

Parquet には、 String 、boolean、int32、int64、float、double の 6 つのデータ型を使用できます。

Log Service のデータは、ログ転送の際に文字列から任意の Parquet 型に変換されます。String 型以外のデータ型への変換に失敗した列は、null に設定されます。

列を構成

Log Service のフィールド名およびターゲットの Parquet のデータ型を指定します。Parquet データはここで設定したフィールド順に転送されます。Log Service のフィールド名は、Parquet のデータのかカラム名になります。以下の場合、データカラムは null に設定されます。

  • Log Service データにないフィールド名
  • String 型から非 String 型 (double や int64 など) への変換に失敗するフィールド
    図 1. フィールド設定ページ
設定可能な予約フィールド
ログのキーと値のペアのほか、Log Service は OSS にログを転送する際に下表の予約フィールドをオプションで設定できます。
予約フィールド 説明
__time__ ログの UNIX タイムスタンプ (1970-01-01 からの秒数)。ログの時間フィールドに従って 計算されます。
__topic__ ログトピック
__source__ ソースログクライアントの IP アドレス

上記フィールドは、JSON ストレージにはデフォルトで含まれます。

必要に応じて、parquet ストレージまたは CSV ストレージに含めるフィールドを選択します。たとえば、ログトピックが必要な場合は、フィールド名__topic__を入力し、データ型には String を選択します。

OSS ストレージアドレス

圧縮タイプ ファイル拡張子 OSS ファイルのアドレス例
圧縮しない .parquet oss://oss-shipper-shenzhen/ecs_test/2016/01/26/20/54_1453812893059571256_937.parquet
snappy .snappy.parquet oss://oss-shipper-shenzhen/ecs_test/2016/01/26/20/54_1453812893059571256_937.snappy.parquet

データを活用

E-MapReduce/Spark/Hive

コミュニティ文書をご参照ください。

スタンドアロン検証ツール

オープンソースコミュニティの提供するparquet-toolsで、parquet のフォーマットを検証、スキーマを表示、ファイルごとデータを読み取ります。

ご自身でツールコンパイルするか、こちらをクリックして Log Service の提供するバージョンをダウンロードします。
  • Parquet ファイルのスキーマの表示
    $ java -jar parquet-tools-1.6.0rc3-SNAPSHOT.jar schema -d 00_1490803532136470439_124353.snappy.parquet | head -n 30
    message schema {
      optional int32 __time__;
      optional binary ip;
      optional binary __source__;
      optional binary method;
      optional binary __topic__;
      optional double seq;
      optional int64 status;
      optional binary time;
      optional binary url;
      optional boolean ua;
    }
    creator: parquet-cpp version 1.0.0
    file schema: schema
    --------------------------------------------------------------------------------
    __time__: OPTIONAL INT32 R:0 D:1
    ip: OPTIONAL BINARY R:0 D:1
    .......
  • Parquet ファイルのすべてのコンテンツの表示
    $ java -jar parquet-tools-1.6.0rc3-SNAPSHOT.jar head -n 2 00_1490803532136470439_124353.snappy.parquet
    __time__ = 1490803230
    ip = 10.200.98.220
    __source__ = *. *. *.*
    method = POST
    __topic__ =
    seq = 1667821.0
    status = 200
    time = 30/Mar/2017:00:00:30 +0800
    url = /PutData? Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature> HTTP/1.1
    __time__ = 1490803230
    ip = 10.200.98.220
    __source__ = *. *. *.*
    method = POST
    __topic__
    seq = 1667822.0
    status = 200
    time = 30/Mar/2017:00:00:30 +0800
    url = /PutData? Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature> HTTP/1.1

詳細な操作手順については、java -jar parquet-tools-1.6.0rc3-SNAPSHOT.jar -hコマンドを実行します。