私は新しいプロジェクトでHadoopを使用します。プロジェクトのコンセプトは、次の画像のようなものです。 プロジェクトでのHadoopの実際の使用
ユーザーは、いくつかのデータ(ログ)を生成するデバイスを持っています。ユーザーは、デバイスからファイルとしてデータを取得し、それをweb app/hadoopにアップロードすることができます。私はRuby on Railsを使ってWebアプリケーションを構築します。
私はHadoop(HDFS、Mappers、Reducers)の基本を知っていますが、実用的な方法でHadoopを使用する方法はわかりません。私はいくつかのヒントを最初に得てから、プロジェクトのコンポーネントを収集されたヒントに調整したいので、プロジェクトはただのコンセプトにすぎません。
私の主要な考慮事項は約されています
- のWebアプリはHadoopのと同じ場所に格納する必要がありますか? (同じサーバー/クラウド/サービスプロバイダ)
- ファイルをアップロードするには?ファイルをアップロードするためのWebアプリケーションのフォームにすることができますか?それとも、デスクトップアプリケーションを作成してファイルをアップロードする方が良いですか(ファイルサイズ:100MB〜1GB)?
- デスクトップアプリケーションの場合は、データをHadoopに直接送信するか、何らかの方法でWebアプリケーションを送信する方が良いでしょうか?
- 外部リソース(私のWebアプリケーションまたはデスクトップアプリケーション)からのアップロードに役立つフレームワーク/ツール/ API /リソースを教えてください。
- Hadoopデータを正しく使用するにはどうすればよいですか?ユーザーのファイルがHadoopにあるとしましょう。私は出力ファイルを生成するもの(またはHBaseにいくつかのデータを入れます - 私は正しいでしょうか?)をこのファイル上でMappersとReducersを実行できることを知っています。このデータを取得するには、適切な出力ファイルが必要か、HBaseから「SELECT」を取得するのがいいでしょうか?ジョブが完了したらHadoopに外部Webアプリケーションに情報を送信するトリガーが含まれていますか?
このトピックのすべてのヒントがあります。
なぜHadoopが必要なのですか?たくさんのデータがありますか? –
Hadoopはリアルタイムではありません。 WebアプリケーションからHDFS(Hadoop)のデータをクエリするのは難しいです。通常、処理されたデータはHadoopからエクスポートされます。 –
良い点はリアルタイムではありませんが、今は問題ではありません。 – nicq