2011-08-08 31 views
15

私はソーシャルネットワーキングWebベースのアプリケーションで作業しています。これは、Apache WebサーバーとMySQLデータベースをcodeigniter MVCフレームワークで使用しています。私はこのアプリケーションでHadoopをどのように統合するのか、map-reduceプログラムを書く方法を知らない。Webアプリケーション用にhadoopを使用するには?

答えて

13

Hadoopとmap-reduceは、Webアプリケーションと直接の関係はありません。ユーザー入力(Webリクエスト)に(すぐに)応答するものとしてWebアプリケーションを理解している限り、HadoopをWebアプリケーションに統合しないでください。

Hadoopとmap-reduceは、データセットからデータ/知識を変換/抽出するために大きなデータセットで実行されるアルゴリズムに非常に便利です。

+3

私はHadoopがリアルタイムアプリケーションではないことを知りました。オフライン処理に役立ちます。 Hbaseは、リアルタイムでの動的な読み書き用です。今すぐHbaseを学習してください。 – Rashmi

+0

Sparkはリアルタイム機能を備えており、しばしばMapReduceに耐えることができると私は理解しています。 @Rashmiはあなたに何時間を明らかにしたのですか? –

3

私はHadoopがソーシャルネットワークスタイルのアプリケーションに2つの「古典的な」用途を持つことができると思います。

まず、メッセージングやその他の動的情報を格納するためのHBASEの使用方法です。この種のNoSQLソリューションでは、MySQLを完全に置き換えるために、HBASEにユーザープロファイルを格納することも考えられます。

第2は、ネットワークの分析にHadoop MapReduceを使用することです。そのような分析の良い例は、友人の提案を探していることです。

+0

応答してくれてありがとう、スタンドアロンモードでHbaseが設定されています。任意のアプリケーションにこのモードを使用する方法。私はJavaを知っています。私のウェブサイトはcodeigniterとphpに基づいています。これに関する助け。ありがとう – Rashmi

+0

HBaseスタンドアロンモードはいつものように使用できますが、HDFSが関与していないため、パフォーマンスを評価するためには使用しないでください。 HBaseで解決しようとしている問題は何ですか? –

1

hadoopを使ってデータを分析し、結果をmysqlデータベースに取り込みます。その後、Webアプリケーションでそれを使用します。

8

Hadoopは今日、主に「オフライン解析」に使用されていますが、ウェブプロジェクトにも役立ちます。たとえば、ウェブサイトのユーザーに提供される推奨事項や提案を事前に計算することです。

もう1つの使用例として、複数のデータソースからETLを使用して、ウェブサイト(たとえば、入力データが膨大なジョブ/車/レンタルのようなウェブサイト)の転置インデックスを生成することができます。

あなたのウェブサイトが少量のデータを管理しているのではなく、「ビッグデータ」の問題が発生したときは、常にHadoopを考えてください。

この種の問題に取り組むためにHadoopを使用すると、いくつかの利点と欠点があります。明白な利点は、バッチプロセスのあらゆる種類のもの(前述の例のような)を透過的にスケールすることです。欠点はリアルタイムではないことです.Hachopを使用して5秒ごとにWebサイトを更新することはできません。

Webアプリケーションで
+3

質問は「Hadoopの使い方...」でした。 – chepseskaf

+1

また、私はあなたの例が「オフライン分析」とどのように対比しているか理解していません。あなたが説明していることはまだオフライン処理です。 –

1

はい、バックエンド

としてのApacheのHadoopを使用してWebアプリケーションを作成することが可能です

あなたはApacheのハイブと豚を使用してWebアプリケーションを作成することができます。カスタムマッパーとレデューサーを作成してudfとして使用することはできますが、個人的な経験は遅く、データが非常に少ない場合は他のデータベースを使用し、私はsparkがより良い応答時間のための解決策であることを好む。

+0

これはどのようにして直接行うことができますか?WebアプリケーションとHadoopを直接接続する方法はないので、この@shubhamの参照サイトを提供できますか? – Jayendran

関連する問題