Contenu connexe Similaire à ゾウ使いへの第一歩 (20) ゾウ使いへの第一歩2. 自己紹介
• 伊藤 史
• Twitter: @fumito_ito
• Hadoopの利用状況
– 半年くらい
• 1~2週間ほどローカルでいじる
• クラスターを使いたくてHadoop on Azureの利用
開始
• CTPってことはお金かからないんですよね?
– 素のHadoopがメイン
3. Today’s Goal
• こんな人がHadoop on Azureを使って象使
いへの第一歩を踏み出す
– Hadoopって楽しそう。だけど、Windowsだ
しローカルに環境作るのは面倒くさい…
– Hadoopの分散ノードでいろいろ試してみた
い。だけどLinuxサーバーはとっつきにくい…
– 他のAzureサービスと連携したい
8. Hadoop ?
• OSS
– Apache Hadoop Commons, HDFS, MapReduce
• Googleが発表した理論のJava実装
– MapReduce, Jeffrey Dean and Sanjay Ghemawat
• 分散する
– I/O
• 集積する
– Large workloads
– Commodity Service
9. Hadoopざっくり
2 2
1 1
Shuffle
Map 1 &
Reduce 1
1
2
1
1
2
1
1
2
1
1
3
11. Hadoopをローカルで動かす
• Linux Machine / Server
– 普通に動く
– 例:Cloudera Ubuntu VM
• Windows Machine / Server
– Cygwin, OpenSSH 必須
– この辺を参考にしてます
• http://www.ne.jp/asahi/hishidama/home/tech/apac
he/hadoop/index.html
18. Hadoop on Azureざっくり
• Apache Hadoop-based Service on Azure
• CTP
• 4~32Nodes
– 48時間で全ノードおよびHDFSがリセット
• Execute MapReduce by 2-way
– JAR & Console
• Connect with other services
– S3, Data Market ,Blob Storage ,Excel
22. Execute Map Reduce
• 固定的なものはジョブとして登録
• それ以外のものはInteractive Consoleから
実行
– JavaScriptを記述して実行します
• 他にもHive, Pig, HDFSの操作など
• Hiveには専用のコンソールも
– Promise Objectを返すのでJobの完了をトリ
ガーに色々できる
24. JavaScriptでMapReduce
var map = function (key, value, context) {
var words = value.split(/[^a-zA-Z]/);
words.forEach( function (word) {
if (word !== "") {
context.write(word.toLowerCase(), 1);
}
});
};
var reduce = function (key, values, context) {
var sum = 0;
while (values.hasNext()) {
sum += parseInt(values.next());
}
context.write(key, sum);
};
25. JavaScriptでMapReduce
• いいところ
– お約束的に書かなきゃいけない何やかんやを
省略できる
– 簡単なジョブならこちらのほうが楽
– mainも予約語っぽいので複雑な設定にも対応
できるようになる(?)
• 悪いところ
– ドキュメントが全然ない
– 裏で何が動いているのか分からない
27. Hadoop on Azure with others
HiveODBC Sqoop
SQL JDBC
Connector for Apache
Hive Add-In
Hadoop
28. Connect with Storages
• S3,Blob上にあるファイルを直に指定して
MapReduceの入出力先にできる
• asv://, s3://
• HDFSに大きすぎるファイルをアップロー
ドしようとすると失敗する
• データソースはストレージ上に置いとく
のがオススメ
30. Connect with MS Products
• HiveのテーブルをExcel上に接続したり
– MS Excel Hive Add-In
• SQLServerにドカンと落としたり
– SQLServer Connector for Apache Hadoop
• SQL Azureに流し込んだりできる
– Sqoop
• データ量、用途、お金の具合に応じて使
い分ければいいのでは
34. まとめ
• Winユーザーでも分散環境でのM/Rを手軽
に実行できる
• 現在は制限が大きいが、データの永続化
などに注意を払えばテスト用などに活用
できる
• 今後リリースされるHadoop for Windows
Serverに慣れる意味で試してみるのもアリ