ログがSimple Log ServiceからObject Storage Service (OSS) に送信された後、ログはさまざまな形式のファイルとして保存できます。 このトピックでは、Optimized Row Columnar (ORC) 形式について説明します。
パラメーター
新しいバージョンのOSSデータシッピングジョブを作成するときにストレージフォーマットをorcに設定した場合、次の図に示すようにパラメーターを設定する必要があります。 詳細については、「OSSデータ配布ジョブの作成 (新バージョン) 」をご参照ください。
下表に、各パラメーターを説明します。
パラメーター | 説明 |
キー名 | OSSに送信するログフィールドの名前。 ログストアの [生ログ] タブでログフィールドを表示できます。 ログフィールド名を1つずつ追加することを推奨します。 データ配布ジョブは、ORCデータを同じ順序で編成し、ログフィールド名をORCファイルの列名として使用します。 OSSに送信できるログフィールドには、__time__ 、__topic__ 、__source__ などの予約済みフィールドが含まれます。 詳細については、「予約済みフィールド」をご参照ください。 次の場合、ORCファイルの列の値はnullです。
説明
|
データ型 | 指定されたログフィールドのデータ型。 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 repoで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ツールのドキュメントをご参照ください。