Simple Log Service (SLS) は、ログを Object Storage Service (OSS) に転送して、効率的な列指向ストレージと分析のために Optimized Row Columnar (ORC) フォーマットで保存できます。
パラメーター
OSS データ転送ジョブ (新バージョン) を作成する際、[ストレージ形式] を [orc] に設定します。次に、[圧縮] を [snappy] に設定します。サポートされている圧縮方法には、none、snappy、gzip、zstd があります。[ORC フィールド] セクションで、[キー名] に __topic__、[タイプ] に [string] を設定したフィールドと、[キー名] に concent、[タイプ] に [string] を設定したフィールドを追加します。青色の [+] ボタンをクリックして新しいフィールドを追加するか、[削除] をクリックして既存のフィールドを削除できます。
次の表では、ORC 固有のパラメーターについて説明します。
|
パラメーター |
説明 |
|
[キー名] |
OSS に転送するログフィールドです。Logstore の [生ログ] タブで利用可能なフィールドを表示できます。フィールド名を 1 つずつ追加します。転送ジョブはフィールドの順序を保持し、フィールド名を ORC の列名として使用します。 OSS に転送できるログフィールドには、__time__、__topic__、__source__ などの予約済みフィールドが含まれます。詳細については、「予約済みフィールド」をご参照ください。 以下の場合、ORC ファイルの列の値は null になります。
説明
|
|
[タイプ] |
ログフィールドのデータ型です。サポートされている ORC のタイプは、STRING、BOOLEAN、INT32、INT64、FLOAT、DOUBLE です。 転送中、ログフィールドは STRING から指定された ORC タイプに変換されます。変換に失敗した場合、列の値は null になります。 |
OSS オブジェクトの URL 例
転送されたログは、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 |
||
|
Snappy |
オブジェクトサフィックスを指定した場合、指定したサフィックスが有効になります。例:.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 に転送された ORC データを消費できます。詳細については、「LanguageManual DDL」をご参照ください。
-
コマンドラインツールを使用して ORC ファイルを直接検査することもできます。
ORC ツールを使用して、ORC ファイルのメタデータを表示して、データを読み取ります。Maven リポジトリから orc-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 ツールのドキュメントをご参照ください。
-