目次
Cloudera Searchは次のようなモジュールから構成されています。 これはCloudera Searchのモジュールで、さらにこれらがSolrとかを使ってるみたいですね。pom.xmlを見たら何を使ってるかがわかるかな。
- cdk-morphlines
- search-contrib
- search-core
- search-flume
- search-mr
- search-solrcell
てきとーに、README.mdみながらメモを残してみました。ソースとかはまだ読んでないです。 ざっと眺めたけど、インデキシング処理の話がメインで、検索側がどうやって動くかってのがわからなかったなぁ。 ユーザガイド(注:PDF)ってのがあるから、これを読んでみるか。。。
各モジュールについては、以下。
cdk-morphlines(Cloudera Morphlines)
Cloudera Morphlinesという名前みたい。 検インデキシングアプリの構築、変更をラクにするためのフレームワーク。 ETLの処理チェインを簡単にCloudera Searchにデータを入れる設定(Extract/Transform/Load処理)がかけると。 バッチ処理、Near Real Timeのために使えるみたい。検索結果をさらに入れるとかもできるんかなぁ。?
Unixパイプラインのの進化版みたいなもので、一般的なレコードに対するStream処理から、Flueme、MapReduce、Pig、Hie、SqoopのようなHadoopコンポーネントも使えるみたい。
Hadoop ETLアプリケーションのプロトタイピングにも使えて、リアルタイムで複雑なStreamやイベント処理やログファイル解析とかに使えるの?
設定ファイルのフォーマットはHOCONフォーマット。AkkaやPlayで使われてる。
cdk-morphlines-core
Cloudera Morphlinesのコンパイラ、実行環境、コマンドのライブラリを含んでる。 ログファイル解析やsingle-lineレコード、multi-lineレコード、CSVファイル、正規表現パターンマッチ、フィールドごとの比較とか条件分岐とか、文字列変換とか色々なコマンドを含んでる。
cdk-morphlines-avro
Avroファイルやオブジェクトの抽出、変換、読み込み処理コマンド
cdk-morphlines-tika
バイナリデータからMIMEタイプを検出して、解凍するコマンド。Tikaに依存
雑感
Cloudera Searchへのデータの流し込みを設定ファイルに記述して実行するとデータの変換処理とかが記述できるって感じかな? Morphlinesのコマンドとして独自処理や使えそうな処理を作ることで、いろんな処理ができるって感じかなぁ。
search-core
Solrに対するMorphlineコマンドの上位モジュール
search-solrcell
Tikaパーサを使ったSolrCellを使うためのMorphlineコマンド。 HTML、XML、PDF、Wordなど、Tikaがサポートしてるものがサポート対象。
search-flume
Flueme Morphline Solr Sink。 Apache Flumeのイベントから検索ドキュメントを抽出、変換し、SolrにNearRealTimeで読み込むためのコマンド
search-mr
HDFSに保存されたファイルに含まれる大量データをMapReduceで処理してHDFS上の検索インデックスに焼きこむモジュール。
MapReduceIndexerTool
は入力ファイルの集合からSolrのインデックスシャードの集合を作るためのmorphlineのタスクで、MapReduceのバッチジョブドライバー。
HDFSにインデックスを書き込む。
動作してるSolrサーバに対して出力されたデータをマージするのもサポートしてる。
とりあえず、Near Real Time検索するにはFlueme使って、バッチ処理でインデックス焼くのはMapReduceIndexerToolみたいだなぁ。
comments powered by Disqus
See Also by Hugo
- Cloudera Searchメモ(妄想版)
- MorphlinesのloadSolrをちょっとだけ調べてみた
- Morphlines入門?
- Cloudera Searchってのが出たらしい(とりあえず、雑感?)
- 第11回Solr勉強会を主催しました。#SolrJP