MapReduce

ビッグデータの超高次元な説明変数をスケーラブルに選択する(Selection of Huge Dimensional Explanatory Variables by Google MapReduce)

久しぶりのビッグデータ関連の投稿。昨年7月に書いたレポートを掲載する(末尾のリンク)。レポートで取り扱うのは、「数百万ー数億の説明変数がある判別問題においてMapReduceを用いてスケーラブルに変数選択をする方法論」について。統計方向からの勘弁な…

Amazon Elastic MapReduce : Hadoop2.4環境でDistributed Cacheを使う。

ようやく以前やりたかったことができた。 というのは、「S3バケットにおいたテキストファイルをDistributed Cacheとして使う」こと。twasinkさんがGitHubに公開してくれているコードのおかげ。Thank you.Distributed Cacheを使いたいケースはままあって、例…

Amazon Elastic MapReduce : Hadoop2.4環境で100万変量(10GB)の算術平均を計算する。

前々回の記事では、1変量の算術平均を計算した。 今回は、以下の形式(多変量データ)の「各列」、つまり「各変量」の平均値を計算する。前々回の記事で述べたように、「超多変量」=「超高次元」がビッグデータの本質の1つである。せっかくなので、自分の…

Amazon Elastic MapReduce : MapとReduceのスレッドセーフ実験。

前回の記事で、Hadoop2にしたら随分たくさんMapとReduceが動いたので、スレッドじゃないよね、と思ってしまった。特にMapperは起動の仕方でプログラムがデタラメになってしまうので、ちょっと調べてみた。Hadoop2.4のAPIをみると、Mapperをつかってる限りで…

Amazon Elastic MapReduce : Hadoop2.4環境で標本平均を計算する(Ruby Client)。

ワードカウントに続き、今回も簡単なHadoopMapreduceのサンプル・プログラムを作ってみる。昨年の記事を参考にして、Amazon Elastic MapReduceのHadoop2.4環境で算術平均を算出する。 データの形式:ビッグデータを視野に入れて。 ビッグデータを視野に入れ…

Amazon Elastic MapReduce : Hadoop2.4環境でワードカウントのプログラムを実行する(Ruby Client & SSH)。

前回の記事では、前々回に作成したワードカウントのサンプルをAWSマネージメントコンソールから実行した。 GUIから実行するのは簡単なのだが、回数が多くなってくると面倒くさい。なので、Elactic MapReduce Client Rubyでの実行方法と、SSHでログインして(…

Amazon Elastic MapReduce : Hadoop2.4でワードカウントのプログラムを実行する。

前回の記事で作成したワードカウントをAmzon Elastic MapReduceで実行してみる。まず、プログラムと入出力ファイルの置き場所、プログラムの実行方法を決めておく。 ここまでの検証で、プログラム(jarファイル)の置き場所は、 S3 マスタノード の2パター…

Amazon Elastic MapReduce : bootstrap-actionのwgetがうまくいかない。

今回は、ちょっとした備忘。 Amazon Elastic MapReduceの環境を初期設定するために、bootstrap actionsというのが定義できる。クラスタ起動時にHadoopが開始される前、各インスタンスに対して実行される。(詳しくはAWS Documentation(英語)を参照) ここ…

EclipseでHadoop2.4の開発環境を作る&ワードカウントのプログラムを作成する。

前回に引き続き、使用するHadoopのバージョンは2.4。1年前の記事をもとに、Eclipseで開発環境を作る。開発を行うクライアントは、MacBook Pro (OSX 10.9.3)。クライアントのJavaのバージョンは以下。 MacBook-Pro:~ tetsuya$ java -version java version "…

Amazon Elastic MapReduceを使う:Hadoop2.4でサンプルを実行してみる。

今回から(覚悟を決めて)Hadoop2のAMIを使ってみる。 Hadoop2系は、昨年の秋、バージョン0.23から2.2というバージョン番号が付与されたプロダクト(Hadoop1系は0.20からメジャーバージョンが付与された)。YARN(Yet Another Resource Negotiator)という分…

Amazon Elastic MapReduceを使う:SSHでマスタノードにログインする。sftpでファイルを転送する。

Amazon Elastic MapReduceはEC2インスタンスで構成されている。ということは、SSHなどでログインが可能だし、クライアントから直接データやプログラムが配備できる。 AWSのサイトにも書いてあるし、(日付が古いが)「Amazon Elastic MapReduce ドキュメント…

Amazon Elastic MapReduceを使う:Rubyクライアント・ツールを使う。

Ruby製のクライアント・ツールのダウンロード、ジョブフローの作成(クラスタの作成)、ステップの追加、ジョブフローの停止を行う。 基本的に1年前の記事を追って行う。クライアントは、Mac Book Pro(OSX 10.9.3)。Rubyのバージョンは以下。 バージョン 2.…

Amazon Elastic MapReduceを使う:マネージメント・コンソールでクラスタのクローンを作成する。

前回の記事では、Amazon Elastic MapReduceでWord Countサンプルを実行後、クラスタを停止した。今回は、そのクローンを作成し、Word Countを再実行する。1回実行したジョブを再実行するのに便利な機能。Amazon Web Servicesにログインし、Elastic MapReduc…

Amazon Elastic MapReduceを使う:マネージメント・コンソールからサンプルを動かす。

前回の記事では、Amazon Web ServicesのEMR(Amazon Elastic MapReduce)で、マネージメント・コンソールからクラスタを作成した。 今回は、同じくマネージメント・コンソールから、サンプルプログラム(Word Count)を起動してみる。 Pythonで書かれたサン…

Hadoop、おしさしぶり(It's long time to see, Hadoop.)

先日、学会の発表を聞いていて、久しぶりにHadoop+MapReduceをやってみようという気になった。 気がついてみると、昨年の6月〜7月にHadoop+MapReduceの評価をやっていたので、1年ぶりとなる。1年も経てば、さぞかし変わってしまっているだろうと思っていた…

Amazon Elastic MapReduceを使う:マネージメント・コンソールからのクラスタの起動

Amazon Web ServicesのEMR(Amazon Elastic MapReduce)を、マネージメント・コンソールから一通り動かしてみる。 最初の画面(下)で「Create Cluster(青いボタン)」をクリックする。 すると、クラスタをコンンフィギュレーションする画面に切り替わるの…

30分でできる分散レコメンデーション:パラメータを変更して、応用できるようにする。

仕事が忙しくて、更新に間があいてしまった。前々回、前回のログでApache Mahout0.7で実装されている「Parallel ALS (Parallel Alternating Least Squares)アルゴリズム」をつかって、とても簡便にスケーラブルなリコメンデーションエンジンを構築してみた…

30分でできる分散レコメンデーション:パラメータを決定する。

先のログでは、Parallel ALS(Alternating Least Squares)による分散レコメンデーション環境を手っ取り早く用意して、チェコスロバキアの「Libimseti.czという出会い系サイト(http://www.libimseti.cz/)」の1700万件の評価データで、分散レコメンデーショ…

Amazon EMRでMahoutのレコメンデーションのワクワク感を体験する:30分でできる分散レコメンデーション

追記:2013/9/17 このログの続編の投稿が完了しましたので、記事の末にリンクを追加しました。これで、このログの方法を応用した分散レコメンデーションエンジンの構築もばっちり(のはず)です。 先のログでは、Parallel ALS(Alternating Least Squares)を…

Apache Mahoutの分散次元縮約(Parallel ALS)を解説しよう。

さて、前回のログでは、Mahout 0.7に付属する「factorize-movielens-1M.sh」というサンプルをつかって、Pararell ALSというアルゴリズムを動かしてみた。 少し誉めすぎた感が否めないので、原論文「Large-scale Parallel Collaborative Filtering for the Ne…

Amazon Elastic MapReduceで、Apache Mahoutの分散次元縮約(Parallel ALS)を動かす

さて、夏休みもそろそろ終わり。総力(自分のですが)を結集して、一仕事してみたいと思います。今回のログでは、MahoutのサンプルにあるParallel ALS(という次元縮約の分散計算アルゴリズム)を使ったジョブを動かしてみる。Mahoutに、Parallel ALS(Altern…

Amazon Elastic MapReduceで、Apache Mahout 0.8のクラスタリングを総ざらいする(まとめ)

先のログでは、Apache Mahout 0.8のサンプルにあるcluster-syntheticcontrol.shを用いて、「k-means法」によるクラスタリングについて詳しくみた。同shellでは、他にもいくつかのクラスタリング手法(アルゴリズム)を試すことができる。今回のログでは、残…

Amazon Elastic MapReduceで、Apache Mahout 0.8のk-meansクラスタリングを実行する。

先のログでは、MahoutをLocal環境(Mac OSX Mountain Lion)で実行した。今回は、Amazon Elastic MapReduce(EMR)+Hadoop MapReduceで、k-meansクラスタリングを動かしてみたい。 Mahoutのバージョンは、0.8で行った。EMRの構成は、m1.smallが2台の最小構…

MapReduce: Simplified Data Processing on Large Clusters メモ

Hadoop MapReduceが、2004年12月に行われた6th Symposium of Operating System and Implementation(San Francisco , Dec.6-8)において発表された「MapReduce: Simplified Data Processing on Large Clusters (Dean, J. and Ghemawat, S. 2004)」に触発され…