2

ネットワークテストの実行からのテキストレポートとログファイルがたくさんあります。これらのレポートとログをデータストアに保存し、そこで解析して、解析されたデータに基づいてレポートを実行したいと思います。また、このシステムが、受け入れるレポートとログの種類と、使用できるデータとクエリ/レポートの量の両方で拡張可能であることを望んでいます。

同僚がHadoopこのニーズを満たす可能性があると提案し、私の組織の別のチームはCassandra、同様のプロジェクトに使用していると述べています(ただし、はるかに多くのデータがあり、そのほとんどはマシンで生成されています)。私はこれまで読んできましたがHadoop and Cassandra、そのようなものを使用するのがやり過ぎであるかどうか、およびログ/レポートタイプごとにカスタムパーサーを備えたリレーショナルデータベースがより適切であるかどうかは本当にわかりません。

の理解からすると、とにかく各タイプの入力データを解析する関数をHadoop作成する必要があります。また、を使用したMapReduce場合も同様のことを行う必要があると思いますCassandra。についても少し読んだHiveことがありますが、それは役に立つかもしれませんが、あまり深く調べていません。

私の状況でHadoopまたはCassandra(または他の何か)を使用することの利点(もしあれば)は何ですか?

どんな種類のアドバイスもいただければ幸いです。

4

1 に答える 1

1

ここに私があなたの問題の説明から得たものがあります:

  • ログとテキストレポートを生成するいくつかのテスト手順があります。このデータのサイズについて、少なくとも大まかなアイデアを教えてください。
  • 生成された後にこのデータを分析したい(つまり、リアルタイム分析の必要はありません)
  • 取り込んで処理できるデータのサイズ、および実行できるクエリと分析のタイプに柔軟性が必要です。

ここにあなたが言及したツールについてのいくつかの洞察と警告があります:

  • すでに構成されているHadoopクラスターを考えると、Hiveはおそらく最も単純なソリューションです。SQLクエリや結合などのテーブルのセットであるかのようにデータを処理できます。Hiveは(おおよそ)クラスターと同じくらい高速です。大きいですが、すぐに答えは得られません。言い換えると、インタラクティブなWebパネルなどではなく、バッチ操作に使用できます。

  • Cassandraは、大量のデータを保存するのに役立ちます。簡単に拡張でき、堅牢で比較的使いやすいです。要件を考えると懸念されるかもしれませんが、データの保存に使用するスキーマを十分に検討する必要があります。スキーマは、後で実行できることと実行できないことを決定します。したがって、より広範な分析を実行したり、今日では想像できない新しい方法でデータを読み取りたい場合は、データがデータベースに格納される方法が原因で、できないことが判明する可能性があります。

私があまりよく知らない他のオプション:HBase(HDFSに基づくデータストレージ)、Pig(Hiveのように、クエリはHadoopジョブにコンパイルされます。モデルの変更点:SQLクエリの代わりに「フロー」を記述する必要があります)。

Hive(またはPig)を試してみることをお勧めします。おそらく、Amazon EMRなどのサービスを使用します(Hadoopクラスターのセットアップの煩わしさを回避できるようにするため)。

于 2013-03-06T14:43:22.797 に答える