Simple Log Service から OSS に Parquet 形式でログを配布する際には、フィールドマッピングとデータの型を設定します。本トピックでは、Parquet 配布のパラメーター、OSS オブジェクトパス、およびデータ消費方法について説明します。
OSS へのログ配布の旧バージョンは廃止されました。新バージョンをご参照ください。
パラメーター
配布ルールを設定し、ストレージ形式を Parquet に設定する際に、以下のパラメーターを設定します。Parquet フィールド セクションで、次の 2 つのフィールドを追加してください:キー名 を __topic__、型 を string に設定し、さらに キー名 を content、型 を string に設定します。+ をクリックしてフィールドを追加したり、Delete をクリックしてフィールドを削除したりできます。
以下の表は、各パラメーターの説明です。
|
パラメーター |
説明 |
|
キー名 |
生ログ タブにあるフィールド名(キー)を、配布したい順序で入力します。これらのキーは Parquet の列名になります。ログコンテンツのキーに加えて、予約済みフィールド __time__、__topic__、および __source__ も使用できます。予約済みフィールドをご参照ください。以下の場合は、列の値が null になります。
説明
|
|
型 |
サポートされるデータの型:string、boolean、int32、int64、float、double。配布時には、文字列データは byte_array 物理型として格納され、Simple Log Service は Parquet メタデータ内の |
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 を使用します。コミュニティドキュメントをご参照ください。
-
ローカル検査ツールを使用します。
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-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%) ......
-
-