Hadoop Introduction

Similar documents
Hadoopの全て


DEIM Forum 2012 C2-6 Hadoop Web Hadoop Distributed File System Hadoop I/O I/O Hadoo

無料セミナー資料:ビッグデータ管理基盤ソフトウェアHadoop入門

yamamoto_hadoop.pptx

Java講座

データセンターの効率的な資源活用のためのデータ収集・照会システムの設計

PowerPoint Presentation

96 8 PHPlot 1. ( 8.1) 4 1: // 2: // $_SERVER[ HTTP_REFERER ]... 3: // $_SERVER[ HTTP_USER_AGENT ]... 4: // $_SERVER[ REMOTE_ADDR ]... ( ) 5: // $_SERV

JavaプログラミングⅠ

OSS Mtg

JavaプログラミングⅠ

sinfI2005_VBA.doc

Hadoop とは 大規模なデータを並列分散処理を行うフレームワークを提供 Google による MapReduce および Google File System(GFS) の論文をベースに開発された Apache プロジェクトの OSS MapReduce MapReduce 分散処理フレームワー

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ

ガイダンス

JavaプログラミングⅠ

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

新・明解Javaで学ぶアルゴリズムとデータ構造

プログラミング実習I

K227 Java 2

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第8版  

PowerPoint プレゼンテーション

Łñ“’‘‚2004

プリント


10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

Java Java Java Java Java 4 p * *** ***** *** * Unix p a,b,c,d 100,200,250,500 a*b = a*b+c = a*b+c*d = (a+b)*(c+d) = 225

スライド 1

2

新・明解Java入門

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第7版   None

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

明解Javaによるアルゴリズムとデータ構造

Microsoft Word - keisankigairon.ch doc


intra-mart Accel Platform — IM-BloomMaker プログラミングガイド   初版  

MS-ExcelVBA 基礎 (Visual Basic for Application)

目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst, MoveNext, MovePrevious, MoveLast)...

JAVA入門

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

問題1 以下に示すプログラムは、次の処理をするプログラムである

untitled

IPSJ-HPC

PowerPoint プレゼンテーション

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介

class TestPrimitiveType{ public static

プログラミング基礎I(再)

Joint Content Development Proposal Tech Docs and Curriculum

ExcelVBA

Java知識テスト問題

fp.gby

JavaからRubyへ

Transcription:

Hadoop Introduction

はじめに

Agenda Hadoopおさらい 1 HadoopStreaming 2 Hive 3 Demo (Apacheログ解析) 4 5 まとめ

Hadoop の概要

Hadoop の特徴

Hadoop クラスタ構成 マスターサーバ バッチの進捗状況管理 Map/Reduce タスク割振り NameNode JobTracker HDFS 管理 DataNode 管理 Map/Reduce タスク起動 DataNode TaskTracker DataNode TaskTracker データ ブロック送受信 HDFS Map Reduce HDFS Map Reduce スレーブサーバ #1 スレーブサーバ #N

Hadoop 適用範囲

Hadoop RDBMS

MapReduce

MapReduce ProgrammingModel

MapReduce ProgrammingModel Mapper Reducer Output Data1 Input Data Mapper Shuffle &Sort Reducer Output Data2 Mapper Map Phase Shuffle Phase Reduce Phase

MapReduce の各フェーズ

Hadoop で MapReduce JobTracker Assign Map Task Assign Reduce Task HDFS Mapper HDFS Reducer Output Data1 Input Data Mapper Shuffle &Sort Reducer Output Data2 Mapper Map Phase Shuffle Phase Reduce Phase

MapReduce Example WordCount

MapReduce Example:WordCount

MapReduce Example:WordCount JobTracker HDFS Input file : doc1 foo foo foo bar bar buz

MapReduce Example:WordCount JobTracker HDFS doc1:foo doc1:foo Mapper Input file : doc1 foo foo foo bar bar buz doc1:foo doc1:bar Mapper doc1:bar doc1:buz Mapper Map Phase

MapReduce Example:WordCount JobTracker HDFS Mapper foo:1 foo:1 Input file : doc1 foo foo foo bar bar buz Mapper foo:1 bar:1 bar:1 buz:1 Mapper Map Phase

MapReduce Example:WordCount JobTracker HDFS Mapper foo:1 foo:1 foo:<1,1,1> Input file : doc1 foo:1 bar:1 Reducer foo foo foo bar bar buz Mapper Shuffle &Sort bar:<1,1> buz:<1> bar:1 buz:1 Reducer Mapper Shuffle Phase

MapReduce Example:WordCount JobTracker HDFS Mapper foo:3 Input file : doc1 Reducer foo foo foo bar bar buz Mapper bar2 buz:1 Reducer Mapper Reduce Phase

MapReduce Example:WordCount JobTracker HDFS Mapper foo:3 HDFS Input file : doc1 Reducer foo foo foo bar bar buz Mapper bar2 buz:1 foo:3 bar:2 buz:1 Reducer Mapper Reduce Phase

Hadoop で MapReduce

public static void main...

Java 以外の言語じゃ 利用できないの?

そんなことは ありません

Hadoop で MapReduce http://pig.apache.org/ http://hive.apache.org/

Agenda Hadoopおさらい 1 HadoopStreaming 2 Hive 3 Demo (Apacheログ解析) 4 5 まとめ

Hadoop Streaming Input Data STDIN Mapper Streaming Reducer STDOUT Output Data STDOUT Shuffle & Sort STDIN

Hadoop Streaming hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming.jar -input inputdata -output outputdata -mapper map_exec -reducer reduce_exec

Ruby で WordCount

mapper.rb

reducer.rb

InputData( 入力データの準備 )

実行

途中経過

途中経過

OutputData( 出力結果の取得 )

Hadoop Streaming まとめ

Agenda Hadoopおさらい 1 HadoopStreaming 2 Hive 3 Demo (Apacheログ解析) 4 5 まとめ

Hive # hive -e 'select count(distinct user_id) from logs; Hive history file =/tmp/root/hive_job_log_root_2xxxxxxx_xxx.txt Total MapReduce jobs = 1... Tracking URL = ********* map = 0%, reduce = 0% map = 5%, reduce = 0%...

メリット #!/usr/bin/ruby Map.rb Reducer.rb #!/usr/bin/ruby ARGF.each do line line.chomp! line.split.each do word puts "#{word} t1" end end data = Hash.new { h,k h[k] = 0} ARGF.each do line line.chomp! key, value = line.split(/ t/) data[key] += 1 end data.each do k,v puts "#{k} t#{v}" end select count(distinct user_id) from logs; MapReduce を意識することなく SQL ライクに記述可能

デメリット

HiveQL

HiveQL

テーブル作成

テーブル作成 型の種類 データ型名 内容 TINYINT 1Byteの整数 整数型 SMALLINT 2Byteの整数 INT 4Byteの整数 BIGINT 8Byteの整数プリミティブ型 FLOAT 単精度の浮動小数点浮動小数点型 DOUBLE 倍精度の浮動小数点 論理型 BOOLEAN TRUEとFALSE 文字列型 STRING 文字列 配列型 ARRAY < データ型 > データ型を配列として扱う マップ型 MAP < プリミティブ型, データ型 > Key, Value 形式でデータを扱う 構造型 STRUCT< カラム名 : データ型,,,> 複数のデータ型を構造化する

テーブル作成

テーブル作成 構文 FIELDS COLLECTION ITEMS MAP KEYS LINES SERDE 内容 フィールド ( 項目 ) の区切り文字を指定する デフォルトは 0x01 コレクション ( 配列 ) の区切り文字を指定する デフォルトは区切り文字無し マップのキーと値の区切り文字を指定する デフォルトは区切り文字無し 行の区切り文字を指定する デフォルトは n SerDe( シリアライズ デシリアライズ ) クラスを指定する

テーブル作成 CREATE TABLE logs(id INT, created_at STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY, LINES TERMINATED BY' n'; CREATE TABLE logs(id INT, created_at STRING) PARTITIONED BY(date STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY, LINES TERMINATED BY' n';

テーブル操作

テーブル情報表示

データの格納

データの格納 LOAD DATA LOCAL FILEⅩ INTO table_name FILEⅩ HIVE HDFS LOAD DATA FILEY INTO table_name FILEY

データの格納

データの抽出

データの絞込み

データの並び替え

データの集計処理

テーブルの結合

Hive

Agenda Hadoopおさらい 1 HadoopStreaming 2 Hive 3 Demo (Apacheログ解析) 4 5 まとめ

Apache ログ解析 googlebot.com - - [01/May/2012:00:07:57 +0900] "GET /robots.txt HTTP/1.1" 404 216 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" rate-limited-proxy-209-85-238-7.google.com - - [01/May/2012:00:07:59 +0900] "GET / HTTP/1.1" 200 21120 "-" "DoCoMo/2.0 N905i(c100;TB;W24H16) (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)" rate-limited-proxy-209-85-238-7.google.com - - [01/May/2012:00:28:53 +0900] "GET /?feed=rss2 HTTP/1.1" 304 0 "-" "Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; 2 subscribers; feed-id=16492007851965158684)" niederhausen.tm.informatik.uni-leipzig.de - - [01/May/2012:00:33:56 +0900] "GET /robots.txt HTTP/1.1" 404 216 "-" "findlinks/2.5 (+http://wortschatz.uni-leipzig.de/findlinks/)" 61-23-123-166.rev.home.ne.jp - - [01/May/2012:01:06:33 +0900] "GET /wp-content/themes/inove_labsot/style.css HTTP/1.1" 200 29755 "http://labs.opentone.co.jp/" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" 61-23-123-166.rev.home.ne.jp - - [01/May/2012:01:06:33 +0900] "GET /wp-content/themes/inove_labsot/style.css HTTP/1.1" 200 29755 "http://labs.opentone.co.jp/" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" 61-23-123-166.rev.home.ne.jp - - [01/May/2012:01:06:33 +0900] "GET /wp-content/themes/inove_labsot/pagenavi-css.css?ver=2.60 HTTP/1.1"

Apache ログ解析 : テーブル作成

Apache ログ解析 : データ格納

Apache ログ解析 : 集計

Apache ログ解析 : 結果

Agenda Hadoopおさらい 1 HadoopStreaming 2 Hive 3 Demo (Apacheログ解析) 4 5 まとめ

まとめ

まとめ

ご清聴ありがとうございました