バンクラックジャパンの「Event Horizon」は、大容量データの分析処理をWindowsのバッチファイルで実行できるようにするコマンド群である。検索/抽出、ソート、文字列置換、ファイル操作、などを行う汎用コマンドを、全部で32個提供する。これらを組み合わせることによって、大抵のデータ分析処理ができるようになる。
Windows XP以降のコマンドプロンプトで動作する。32個のコマンドは、いずれもC言語で開発されており、外部の共有ライブラリーなどは使わない。最大の特徴は、高速に検索できること。普通のパソコンでも、秒速で1億件(テラバイト級)のデータ検索が可能としている。同社が公開しているデモンストレーション動画では、1億1800万件(202Gバイト)のCSVデータからデータを12秒で抽出した。
高速検索の仕組みの一つは、元データであるテキストファイル(CSV)を対象に検索インデックスを作成し、インデックスを用いて検索すること。このほか、ファイルをメモリー空間にマッピングすることによってI/O性能を高めるメモリーマップトファイルの仕組みも採用した。
インデックスは、元データのCSVファイルごとに、指定したフォルダーに隠しファイルとして保存する。インデックスの作成方法も細かく指定できる。インデックスのサイズが2Gバイトを超える場合は、読み込みを高速化するため、2Gバイト単位で複数ファイルに分割して保存する。一般には、SSD(ソリッドステートドライブ)などの高速なドライブにインデックスを置いて運用する。
コマンドライン(コマンドに与える引数)を自動生成するためのGUIウィザードも提供する。インデックスのありかや検索条件など、各種のパラメーターをGUIで指定するだけで、コマンドラインを生成できる。これをクリップボードにコピーして、コマンドプロンプトで実行したり、バッチファイルに貼り付けたりできる。
Event Horizonに含まれる全32個のコマンドは表の通り。
NO. | コマンド名 | 機能概要 |
---|---|---|
1 | CalculateDate.exe | 日数の加減算を行い標準出力に出力する |
2 | RandomString.exe | パスワード用の乱数を標準出力に出力する |
3 | SelectTextRecord.exe | テキストファイルから条件指定でレコードを抽出する |
4 | SelectLineRecord.exe | ファイルの指定行のレコードを抽出する |
5 | SelectCsvRecord.exe | CSVファイルから条件指定でレコードを抽出する |
6 | CreateIndex.exe | CSVファイルに高速検索用のインデックスを作成する |
7 | SelectIdxRecord.exe | インデックス付のCSVファイルから条件指定でレコードを抽出する |
8 | ReplaceCsvFile.exe | CSVファイルの文字列を置換する |
9 | ReplaceBulkCsv | CSVファイルの文字列を一括置換する |
10 | ReplaceTextFile.exe | テキストファイルの文字列を置換する |
11 | ReplaceBulkText.exe | テキストファイルの文字列を一括置換する |
12 | HanToZenTextFile.exe | テキストファイルの半角文字を全角文字に変換する |
13 | ZenToHanTextFile.exe | テキストファイルの全角文字を半角文字に変換する |
14 | HanToZenCsvFile.exe | CSVファイルの半角文字を全角文字に変換する |
15 | ZenToHanCsvFile.exe | CSVファイルの全角文字を半角文字に変換する |
16 | EditCsvRecord.exe | CSVファイルのレイアウトを変換する |
17 | EditTextRecord.exe | テキストファイルのレイアウトを変換する |
18 | FixedRecord.exe | ファイルのレコードを固定長にする 改行コードのないファイルに改行コードを挿入する |
19 | MaskCsvFile.exe | CSVファイルの任意の項目にマスクを設定する |
20 | MatchCsvRecord.exe | 2つのCSVファイルをマッチングして一致するレコードを抽出する |
21 | UnMatchCsvRecord.exe | 2つのCSVファイルをマッチングして一致しないレコードを抽出する |
22 | SortCsvFile.exe | CSVファイルのソートを行う |
23 | SortTextFile.exe | テキストファイルのソートを行う |
24 | SortBinFile.exe | 改行のないファイルをブロック単位にソートを行う |
25 | CompresCsvRecord.exe | CSVファイルの項目を指定してレコードを集計する |
26 | ServerAccept.exe | クライアントから実行依頼されたコマンドを実行する |
27 | ClientRequest.exe | クライアントからサーバーに「コマンド実行」を依頼する |
28 | SplitFile.exe | テキストファイルを分割する |
29 | DeleteFile.exe | 期間を指定してフォルダー配下のファイルを一括削除する |
30 | DumpFile.exe | ファイルの16進数ダンプを表示する |
31 | RecordCount.exe | テキストファイルのレコード数をカウントする |
32 | FolderCopy.exe | フォルダーからフォルダーにファイルとフォルダー構造を複写する |
用途と機能 | 大量のCSV/テキストデータを高速に検索するためのWindowsコマンド群 |
---|---|
提供形態 | ソフトウエア。Windowsコマンドプロンプト上で動作する |
主な使い方 | コマンドを組み合わせたバッチファイルを作成する。これにより、様々なデータ分析処理ができるようになる |
提供するコマンドの数 | 32個 |
価格(税別) | 50万円 |
発表日 | 2014年10月3日 |
出荷日 | 2014年10月14日 |