Data Effectorの集計機能には、以下に示すいろいろな集計方法があります。これらを組み合わせることで、多種多様な業務要件に対応できます。
大量データを集計する場合、マシンのメモリを大量に使用してしまい、他のプロセスの動作に影響が出てしまうことがあります。集計処理専用のメモリ量と作業ディレクトリ(一時ファイル)を設定することで、大量データの集計処理ができます。
メモリ量を指定することで、指定した一定のメモリ量の範囲で集計機能が動作します。
さらに、メモリ不足時は、自動的に一時ファイル使用に切り替わります。
shunanalyzeコマンド利用時は、analyze用動作環境ファイルのWorkFolderパラメタと集計条件ファイルのMemorySizeパラメタを指定します。
C API 利用時は、AsisSetEnvAnalyze関数のWorkFolderパラメタとMemorySizeパラメタを指定します。
統合コマンド利用時は、統合定義ファイルの処理条件定義部:AnalyzeのWorkFolderタグとMemoryタグで指定します。
参照
指定書式の詳細については、以下を参照してください。
shunanalyzeコマンド利用時は“D.3.1 analyze用動作環境ファイル”および“D.3.2 集計条件ファイル”
C API利用時は“E.3.2 AsisSetEnvAnalyze”
統合定義ファイル利用時は、“F.7.1 Analyze”
データベースのエクスポート機能などを使って抜き出したCSV形式のファイルには、見出し行(項目名)が付加されていない場合があります。このようなデータだけのファイルも、加工せずにData Effectorで集計できます。
見出し行だけのファイルをスキーマ情報ファイルとして別に定義しておけば、データファイルと合わせて処理します。
例
1つのスキーマ情報ファイルと、1つのCSV形式のデータファイルを入力ファイルとして定義します。
Windowsの場合
# 入力ファイル InFile "D:\Shunsaku\data\Schema.csv;D:\Shunsaku\data\Data.csv" |
Linux/Solarisの場合
# 入力ファイル InFile /home/shunsaku/Schema.csv;/home/shunsaku/Data.csv |
shunanalyzeコマンド利用時は、analyze用動作環境ファイルのInFileパラメタにスキーマ情報ファイルを指定します。
C API利用時は、AsisExecuteAnalyze関数のInFileパラメタにスキーマ情報ファイルを指定します。
統合コマンド利用時は、統合定義ファイルの処理条件定義部:AnalyzeのInFileタグにSchemaFile属性を指定します。
参照
スキーマ情報ファイルの内容については、“2.1.1 CSV形式の場合”を参照してください。
スキーマ情報ファイルの指定方法については、以下を参照してください。
shunanalyzeコマンド利用時は“D.3.1 analyze用動作環境ファイル”
C API利用時は“E.3.3 AsisExecuteAnalyze”
統合定義ファイル利用時は、“F.7.1 Analyze”
グループ式に指定したグループ内の最初または最後のデータを探す場合、以下の関数を使います。
first_value関数
last_value関数
例
ログをcsvファイルに出力する際、同じメッセージIDのログは、最後に発生したものだけを取り出します。
入力データ(input.csv)
時刻 | メッセージID | 内容 | 詳細 |
---|---|---|---|
01:03:04 | shn03001 | メモリが不足しています | |
01:03:20 | shn05191 | パラメタが間違っています | InFileType |
01:03:23 | shn03002 | I/Oエラーが発生しました | |
01:03:24 | shn03001 | メモリが不足しています | |
01:03:24 | shn03007 | 内部エラーが発生しました | |
01:03:24 | shn03002 | I/Oエラーが発生しました | /indata/data2.txt |
集計条件
グループ式 | $メッセージID |
集計式 | last_value( $時刻, {time($時刻) } ) 時刻, last_value( $内容, {time($時刻) } ) 内容, last_value( $詳細, {time($時刻) } ) 詳細 |
結果(output.csv)
メッセージID | 時刻 | 内容 | 詳細 |
---|---|---|---|
shn03001 | 01:03:24 | メモリが不足しています | |
shn03002 | 01:03:24 | I/Oエラーが発生しました | /indata/data2.txt |
shn03007 | 01:03:24 | 内部エラーが発生しました | |
shn05191 | 01:03:20 | パラメタが間違っています | InFileType |
参照
関数の詳細については、以下を参照してください。