SlideShare a Scribd company logo
Hadoop / Elastic MapReduceつまみ食い玉川竜司tamagawa_ryuji@twitter
本日の内容自己紹介なぜHadoop?HadoopとElastic MapReduceの紹介MapReduce分散ファイルシステムHDFSローカル環境の構築参考資料
自己紹介を少々本職:ソフトウェア開発者兼業翻訳者Hadoop(象本)7月に2nd EditionでますData Intensive Text Processing With MapReduce(予定)Silverlightで開発するデータ駆動アプリケーションセマンティックWebプログラミングプログラミングGoogle App EngineプログラミングWindows Azure
なぜHadoop?‘Big Data’:大量のデータを処理することで価値が生まれるただし、既存技術ではメリットを出す事が難しかった高度なアルゴリズム vs単純なアルゴリズムスケールしない高度なアルゴリズムから得られる結果は、単純なアルゴリズムで莫大なデータを処理して得られる結果に及ばない● ニューヨーク株式市場は、1日ごとに1テラバイトの取引データを生み出しています。● Facebookはおよそ100億枚の写真をホストしており、これは1ペタバイトの記憶領域を  占めます。● 家系図サイトのAncestry.comは、2.5ペタバイトのデータを保管しています。● The Internet Archiveはおよそ2ペタバイトのデータを保管しており、  その容量は1か月あたり20 テラバイトのペースで増加しています。● スイスのジュネーブ近郊にある大型ハドロン衝突型加速器は、  年間およそ15ペタバイトのデータを生み出しています。象本から抜粋
なぜHadoop?(2)必要なのは、スケールアップ=マシンのパワーアップではないスケールアウト=分散処理こそが必要多くの場合、スケーラビリティのネックになっているのはI/O特にディスクのランダムアクセス性能(IOPS)は、この20年でほとんど伸びていないhttp://www.youtube.com/watch?v=9eMWG3fwiEUIn pioneer days they used oxen for heavy pulling, and when one ox couldn’t budge a log, they didn’t try to grow a larger ox. We shouldn’t be trying for bigger computers, but formore systems of computers.—Grace Hopper
Hadoopの紹介MapReduce/分散ファイルシステムのオープンソース実装コアはMapReduce/HDFS安価なハードを大量に並べて、水平分散でデータ処理を行うためのツールキット大規模並列処理では避けられない、様々な障害に自動的に対処してくれる開発者は、処理のロジックに集中できる作成されたプログラムは、数千台まではほぼ台数に対してリニアにスケールする(らしい)比較的安価なマシンを並べたローカルクラスタや、Amazon EC2/S3上で利用可能(Elastic MapReduce)Hadoop上で動作する各種ツールがあり、分散処理のためのデファクトのフレームワークのようになってきた
Hadoopの構成青はMapReduceの要素赤は分散ファイルシステム(HDFS)の要素インフラは、Elastic MapReduceに面倒を見てもらえる!ジョブトラッカーは、タスクトラッカーに対してタスクを依頼します。対象となるデータのありかは、ネームノードとやりとりをして知ります。障害発生時のリカバリも管理。マスターノード分散処理をするのに必要な諸々は、Hadoopが面倒見てくれます。ハード障害対応
効率の良いネットワーク運用
ジョブの管理
タスクの管理ジョブトラッカーネームノードプログラマが書くのはこれだけ!スレーブノードスレーブノードスレーブノードスレーブノードネームノードは、HDFSのディレクトリと、ファイルを構成するブロックの場所を管理します。タスクトラッカーデータノードタスクトラッカーデータノードタスクトラッカーデータノードタスクトラッカーデータノードタスクタスクタスクタスクタスクタスクタスクタスクタスクタスクタスクタスクタスクトラッカーは、割り当てられたタスクを実行し、結果をジョブトラッカーに報告します。
Elasitc MapReduceHadoopクラスタを自動的にくみ上げて、ジョブを実行してくれます。データの入出力にはS3を利用します。簡単なオペレーションはAWSコンソールから、細かなオペレーションはコマンドラインやAPIから行えます。Javaのジョブ(一応これが基本)、Streaming(標準入出力を使ってスクリプト言語で処理)のジョブ、Pig/Hive(抽象度の高いデータ処理が可能)が使えます。公式ドキュメント(英語)には一通り目を通しましょう。http://aws.amazon.com/archives/Elastic%20MapReduce?_encoding=UTF8&jiveRedirect=1ポートを空けてやれば、標準的なモニタ機能は使えます。デバッグの機能もあります。それでは動いているところを見てみましょう…
MapReduceすべての処理を、MapとReduceで行うMapもReduceも、入出力共に、キーと値のペアの集合を扱うこの「型」に落とし込むと、分散処理にはめ込みやすいアルゴリズム的にベストとは限らない。しかし、水平分散のクラスタに簡単に落とし込める簡単に力業に持ち込むためのパターンData filesmappermappermappermapperShuffle & SortReducer
ここで宣伝MapReduceのアルゴリズムの定番教科書でます!オライリージャパンから、8月か9月出版予定。一部思いっきり数学しているところがありますが、それ以外のところだけでも十分役立ちます。MapReduceアルゴリズムの「デザインパターン」本としてご活用ください。Hadoopを念頭において書かれてます。鋭意校正中!がんばれ俺!
サンプル:Word CountFreebase is an open database of the world’s information, covering millions of topics inhundreds of categories. Drawing from large open data sets like Wikipedia, MusicBrainz,and the SEC archives, it contains structured information on many popular topics,including movies, music, people and locations – all reconciled and freely available. Thisinformation is supplemented by the efforts of a passionate global community of usersコードを書く方法:
Hadoop Streaming(標準入出力。簡単だけど遅い)
Java(これが標準)この他にも状況に応じていろいろなやり方があるので、HadoopConfefence Japan 2009の資料も参考にしてくださいHadoopによる入力(0, Freebase is an open database of the world’s information, covering millions of topics in...)(1, hundreds of categories. Drawing from large open data sets like Wikipedia, MusicBrainz,...)(2, and the SEC archives, it contains structured information on many popular topics,...)(3, including movies, music, people and locations – all reconciled and freely available. This...)(4, information is supplemented by the efforts of a passionate global community of users...)for line in sys.stdin:for word in line.split():   print word + “\t” + “1”mapタスクによる処理他のmapタスクによる処理(Freebase , 1)(is , 1)(an , 1)(open , 1)(database , 1)(MySQL, 1)(is, 1)(not, 1)(proprietary, −5)(database, 119)for aLine in sys.stdin:currentWord= aLine.split()[0]   if currentWord == prevWord:count += 1else:print "%s\t%d" % (prevWord, count)    count = 1prevWord= currentWordHadoopによるシャッフル(freebase, [1])(is, [1, 1])(an, [1])(open, [1])(database, [1, 1])reduceタスクによる処理(freebase, 1)(is, 2)(an, 1(open, 1)(database, 2)
分散ファイルシステムHDFSHadoop Distributed File System耐障害性(データブロックの複製)ディスクのシークを減らすためのデータブロック(デフォルト64MB)大量のデータをシーケンシャルアクセスすることを想定しているネットワークトポロジを意識し、効率的に分散処理を行うためのブロック配置を行う
Hadoop/HDFSのいいところデータセンター内のもっとも貴重なリソースは?ネットワーク帯域、次いでディスクの処理能力「データローカリティ」を意識したデータブロックの複製とタスク配置複製度3なら、ローカルノード、別ラック内のノード、同一ラック内の別ノードへタスクはできる限りローカルのデータノード内のデータで処理を行えるように管理されるただし、EMRではラックアウェアネスは実現されないラックAラックBノードA-1ノードB-1データノードデータノードDataBloockDataBloockDataBloockDataBloockタスクDataBloockタスクDataBloockノードA-2ノードB-2データノードデータノードDataBloockDataBloockDataBloockタスクDataBloockタスクDataBloockDataBloockノードA-3ノードB-3データノードデータノードDataBloockDataBloockDataBloockタスクDataBloockタスクDataBloockDataBloock
ローカル開発環境を用意してみたLinux(CentOS5)とCDH(Cloudera Distribution including Apache Hadoop) ver 3https://ccp.cloudera.com/display/SUPPORT/Downloads疑似分散モード(Psuedo Distribution mode)でインストールYumやaptを使って簡単にできますhttps://ccp.cloudera.com/display/CDHDOC/CDH3+Quick+Start+Guidehttps://ccp.cloudera.com/display/CDHDOC/CDH3+Installation+GuideデモンストレーションWikipediaでwordcountしょぼいサンプルですみません。ストリーミングでの実行方法は象本に載ってます

More Related Content

PDF
並列データベースシステムの概念と原理
PDF
世界一簡単なHadoopの話
PDF
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
PDF
Hadoop 基礎
PPTX
大規模分散システムの現在 -- GFS, MapReduce, BigTableはどう変化したか?
PPTX
Hadoopカンファレンス2013
PDF
Hadoopの概念と基本的知識
PDF
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
並列データベースシステムの概念と原理
世界一簡単なHadoopの話
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
Hadoop 基礎
大規模分散システムの現在 -- GFS, MapReduce, BigTableはどう変化したか?
Hadoopカンファレンス2013
Hadoopの概念と基本的知識
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall

What's hot (20)

PDF
トレジャーデータのバッチクエリとアドホッククエリを理解する
PDF
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
ODP
Hadoop for programmer
PPTX
今さら聞けないHadoop セントラルソフト株式会社(20120119)
PPTX
WebDB Forum 2012 基調講演資料
PPT
Hadoop loves H2
PDF
Hadoopことはじめ
PDF
基幹業務もHadoopで!! -ローソンにおける店舗発注業務への Hadoop + Hive導入と その取り組みについて-
PPT
Amazon Redshift ベンチマーク Hadoop + Hiveと比較
PPT
はやわかりHadoop
PDF
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PDF
Hadoopデータプラットフォーム #cwt2013
PDF
トレジャーデータ流,データ分析の始め方
PDF
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
PPTX
分散グラフデータベース DataStax Enterprise Graph
PDF
Hadoop概要説明
PDF
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19
PDF
FluentdやNorikraを使った データ集約基盤への取り組み紹介
PPTX
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
PDF
Hadoop ecosystem NTTDATA osc15tk
トレジャーデータのバッチクエリとアドホッククエリを理解する
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
Hadoop for programmer
今さら聞けないHadoop セントラルソフト株式会社(20120119)
WebDB Forum 2012 基調講演資料
Hadoop loves H2
Hadoopことはじめ
基幹業務もHadoopで!! -ローソンにおける店舗発注業務への Hadoop + Hive導入と その取り組みについて-
Amazon Redshift ベンチマーク Hadoop + Hiveと比較
はやわかりHadoop
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
Hadoopデータプラットフォーム #cwt2013
トレジャーデータ流,データ分析の始め方
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
分散グラフデータベース DataStax Enterprise Graph
Hadoop概要説明
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19
FluentdやNorikraを使った データ集約基盤への取り組み紹介
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
Hadoop ecosystem NTTDATA osc15tk
Ad

Similar to Hadoop / Elastic MapReduceつまみ食い (20)

PDF
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
PPTX
Azure Datalake 大全
PDF
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
PDF
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
PDF
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
PPT
Hadoopの紹介
PPT
Googleの基盤クローン Hadoopについて
PDF
MapReduce/YARNの仕組みを知る
PDF
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
PDF
データセンター視点で考えてみるHadoop
PDF
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
PDF
[db tech showcase Tokyo 2014] B22: Hadoop Rush!! HDFSからデータを自在に取得、加工するにはどうする? ...
PDF
[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27)
PDF
[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...
PDF
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
PDF
Smart data integration to hybrid data analysis infrastructure
PPTX
sparksql-hive-bench-by-nec-hwx-at-hcj16
PDF
「Linked dataとLinked Open Data」アート・ドキュメンテーション学会
PPTX
ビッグデータ活用支援フォーラム
PPTX
企業等に蓄積されたデータを分析するための処理機能の提案
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
Azure Datalake 大全
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Hadoopの紹介
Googleの基盤クローン Hadoopについて
MapReduce/YARNの仕組みを知る
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
データセンター視点で考えてみるHadoop
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
[db tech showcase Tokyo 2014] B22: Hadoop Rush!! HDFSからデータを自在に取得、加工するにはどうする? ...
[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27)
[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
Smart data integration to hybrid data analysis infrastructure
sparksql-hive-bench-by-nec-hwx-at-hcj16
「Linked dataとLinked Open Data」アート・ドキュメンテーション学会
ビッグデータ活用支援フォーラム
企業等に蓄積されたデータを分析するための処理機能の提案
Ad

More from Ryuji Tamagawa (20)

PDF
20171012 found IT #9 PySparkの勘所
PDF
20170927 pydata tokyo データサイエンスな皆様に送る分散処理の基礎の基礎、そしてPySparkの勘所
PPTX
hbstudy 74 Site Reliability Engineering
PDF
PySparkの勘所(20170630 sapporo db analytics showcase)
PDF
20170210 sapporotechbar7
PDF
20161215 python pandas-spark四方山話
PDF
20161004 データ処理のプラットフォームとしてのpythonとpandas 東京
PDF
20160708 データ処理のプラットフォームとしてのpython 札幌
PDF
20160127三木会 RDB経験者のためのspark
PDF
20151205 Japan.R SparkRとParquet
PDF
Performant data processing with PySpark, SparkR and DataFrame API
PDF
Apache Sparkの紹介
PDF
足を地に着け落ち着いて考える
PDF
ヘルシープログラマ・翻訳と実践
PDF
Google Big Query
PDF
BigQueryの課金、節約しませんか
PDF
You might be paying too much for BigQuery
PDF
Google BigQueryについて 紹介と推測
PDF
lessons learned from talking at rakuten technology conference
PDF
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
20171012 found IT #9 PySparkの勘所
20170927 pydata tokyo データサイエンスな皆様に送る分散処理の基礎の基礎、そしてPySparkの勘所
hbstudy 74 Site Reliability Engineering
PySparkの勘所(20170630 sapporo db analytics showcase)
20170210 sapporotechbar7
20161215 python pandas-spark四方山話
20161004 データ処理のプラットフォームとしてのpythonとpandas 東京
20160708 データ処理のプラットフォームとしてのpython 札幌
20160127三木会 RDB経験者のためのspark
20151205 Japan.R SparkRとParquet
Performant data processing with PySpark, SparkR and DataFrame API
Apache Sparkの紹介
足を地に着け落ち着いて考える
ヘルシープログラマ・翻訳と実践
Google Big Query
BigQueryの課金、節約しませんか
You might be paying too much for BigQuery
Google BigQueryについて 紹介と推測
lessons learned from talking at rakuten technology conference
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました

Hadoop / Elastic MapReduceつまみ食い