こんにちは、R&D統括本部の吉田です。 前回と前々回の記事では、Hadoopのカスタマイズポイントを解説しました。 単純な問題に対しては、map関数とreduce関数の組み合わせだけでも、処理を行うことができますが、ある程度複雑な問題に対しては、今までに解説したカスタマイズポイントの活用が重要になるという話でした。 今回は実際のサービスの事例を紹介し、カスタマイズポイントがどう活用されてい
続きを読む "Hadoopを使いこなす(3)" »
こんにちは。ABYSS開発チームの前田です。今回は前回に続いて、ABYSSについて、ご紹介します! 皆様、前回のABYSSの記事を読んでくださいましてありがとうございます。今回は主に、ABYSS内部のコンポーネントについてより詳しく説明して行きます。 ところで先日、ABYSSのロゴが完成しました! 現在チーム内ではリリースに向けて、ラストスパートを駆けています。ロゴが完成したこともあり、ABYSS
こんにちは、 前回のHadoopの記事 に引き続き、MapReduceのカスタマイズポイントを解説していきます。 前回の記事の図や、表などを参照しながら読み進めていただければと思います。 MapperやReducerの流れの制御 Mapperの実行の流れは、デフォルトでは、初期化処理を行った後、map関数を繰り返し実行し、終了処理を行うようになっていますが、この流れ自体を制御することができます。
続きを読む "Hadoopを使いこなす(2)" »
こんにちは、今回は現在開発を進めているヤフーの内部技術について紹介します。 Yahoo!サービス一覧をみるとさまざまなヤフーのサービスがあります。そして、ウェブ検索をはじめ各サービスの多くには検索機能がついています。ウェブ検索はYahoo! Search Technology、通称YSTと呼ばれる検索エンジンをバックエンドに利用しています。一方、ほかのサービスの検索機能はヤフー独自の検索エンジンを
こんにちは。前回のHadoopの記事では、HadoopやMapReduceについての概要を説明しましたが、 今回は一歩踏み込んで、Hadoopの使いこなし方について書きたいと思います。 今回は、ある程度Hadoopを使ったことのある方、Hadoopのインストールをして、 オフィシャルページのMapReduceチュートリアルなどを試してみた方を対象としています。 こちらでオフィシャルページの日本語訳
続きを読む "Hadoopを使いこなす(1)" »
こんにちは、アリタノリヒロです。 前回の記事(PHPのcurl_multi機能)は、並列に通信することで高速化しようという話でした。今回は、通信そのものの数を減らすアプローチを考えてみましょう。 ■モデルケース 前回と同じように、いくつかのAPIから情報取得してマッシュアップするページがあったとします。 ■問題点 1台のサーバが同時に通信できる量にも限界はあるので、やみくもにAPIへの
こんにちは、地域サービス事業部の吉田一星です。 今回は、Hadoopについて、Yahoo!JAPANでの実際の使用例を交えながら書きたいと思います。 Hadoopとは、大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォームです。 複数のマシンへの分散処理は、プロセス間通信や、障害時への対応などを考えなければならず、プログラマにとって敷居が高いものですが、 Hadoop
続きを読む "Hadoopで、かんたん分散処理" »
こんにちは、システム統括部の駒田です。 昨今、内部統制やJ-SOXといった言葉を良く耳にしますが、 ヤフーもご他聞に漏れず、粛々と対応を進めて参りました。 今回は、その対応の一環として行った、 「開発と運用の分離」に関してのエントリーをさせていただきます。 例えばですが... 開発成果物であるソースコードをテスト終了後に改ざんし、 不正に利益を得る様なエンジニアが存在していた場合、 それはヤフーに
こんにちは。ライフスタイル事業部のアリタと申します。 Yahoo!のサービスも裏側ではWebAPIが多用されています。1つのページを構成するのに5、6個のAPIを使うこともざらですが、それではさすがにパフォーマンスが問題となってきます。その原因と対策例を紹介していきましょう。 ■モデルケース 例として、3つのAPIから取得したデータをマッシュアップしたページがあるとします。(ここではサンプルコード
続きを読む "APIとの通信効率をよくする実装例(1) curl_multi" »