• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
B34 Extremely Tuned Hadoop Cluster by  Daisuke Hirama
 

B34 Extremely Tuned Hadoop Cluster by Daisuke Hirama

on

  • 660 views

 

Statistics

Views

Total Views
660
Views on SlideShare
660
Embed Views
0

Actions

Likes
1
Downloads
16
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    B34 Extremely Tuned Hadoop Cluster by  Daisuke Hirama B34 Extremely Tuned Hadoop Cluster by Daisuke Hirama Presentation Transcript

    • Extremely Tuned Hadoop Cluster平間 大輔株式会社インサイトテクノロジーCopyright © 2013 Insight Technology, Inc. All Rights Reserved.~ RDBMSを愛する私たちは如何にしてHadoopを愛すべきか ~
    • 「Big Data」「Big Data」「ビッグデータ」!Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
    • ビッグデータといえばHadoop…なぜ?Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
    • HadoopのコアはHDFSとMapReduceCopyright © 2013 Insight Technology, Inc. All Rights Reserved.
    • これがMapReduceだ!(面倒くさい…)Copyright © 2013 Insight Technology, Inc. All Rights Reserved.「MapReduce: Simplified Data Processing on Large Clusters」より犬も猫も好き。Key=犬 value=1Key=猫 value=1Key=犬 value=10Key=猫 value=12
    • MapReduceの具体例1億1400万件 260GB(1ヶ月分の1%)
    • 1ツイートを受信すると…(JSONデータ){"text":"u81eau5206u304cu4fe1u3058u3089u308cu308bu3060u3051u3058u3083u306au304fu3066u81eau5206u306eu3053u3068u3092u4fe1u3058u3066u304fu308cu308bu4ebau305fu3061u306eu3053u3068u306fu5927u5207u306bu3002/u4ec1","contributors":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"retweet_count":0,"in_reply_to_screen_name":null,"in_reply_to_user_id_str":null,"retweeted":false,"source":"web","entities":{"urls":[],"hashtags":[],"user_mentions":[]},"place":null,"in_reply_to_status_id":null,"id_str":"241415049216925697","coordinates":null,"user":{"statuses_count":1432,"geo_enabled":false,"profile_link_color":"0084B4","verified":false,"profile_background_image_url_https":"https://si0.twimg.com/profile_background_images/603245248/obluhsv93jc29erghpt1.gif","default_profile_image":false,"friends_count":378,"profile_background_color":"C0DEED","location":"","is_translator":false,"profile_background_tile":true,"favourites_count":0,"description":"u5175u5eabJK2u3002u5143u7532u6b66u3002rnu3059u304du306au3082u306eu3002u4ec1u304fu3093/u4e80u3061u3083u3093/KAT-TUN/u3084u307eu3074u30fc/u4eaeu3061u3083u3093/NEWS/u9234u6728u3048u307f/u5927u77f3u53c2u6708/Tayloru30fbMomsen/Tayloru30fbSwift/Brunou30fbMars/u52a0u85e4u30dfu30eau30e4/u963fu90e8u771fu592ernu30a2u30e1u30d6u30edu3057u3066u308bu3002u3075u3049u308du30fcu307fu30fcu3002:) hyphenu3001uff71uff76uff86uff7cuff6cuff70u3001uff81uff6cuff9duff76uff8auff9fuff70uff85u304bu3082u3093u304bu3082u3093u2606u5f61","profile_sidebar_fill_color":"DDEEF6","follow_request_sent":null,"contributors_enabled":false,"lang":"ja","profile_sidebar_border_color":"C0DEED","profile_image_url_https":"https://si0.twimg.com/profile_images/2393527472/expe7e9aiw04iu3iijb0_normal.jpeg","screen_name":"manatsu5","id_str":"585589997","listed_count":3,"protected":false,"show_all_inline_media":false,"following":null,"notifications":null,"profile_use_background_image":true,"followers_count":315,"profile_image_url":"http://a0.twimg.com/profile_images/2393527472/expe7e9aiw04iu3iijb0_normal.jpeg","name":"ma-natsu","default_profile":false,"created_at":"Sun May 20 11:25:20 +0000 2012","profile_text_color":"333333","id":585589997,"profile_background_image_url":"http://a0.twimg.com/profile_background_images/603245248/obluhsv93jc29erghpt1.gif","time_zone":null,"utc_offset":null,"url":"http://ameblo.jp/kaaaaaat-tun6/"},"favorited":false,"id":241415049216925697,"created_at":"Fri Aug 31 06:00:07 +0000 2012","geo":null,"truncated":false}
    • ツイート内の単語を数えてみようKey: 123456 value:{"text":"u81eau5206u304c…}“吾輩は猫である。”{“吾輩”,”は”,”猫”,”で”,”ある”,”。”}key:“吾輩” value:1key:”猫” value:1key:”ある” value:1Mapkey:”ある” value:{1,1,1,3,2,1,1}key:“吾輩” value:{1,2,1}key:”猫” value:{1,3,2,1,1,5,2}Shufflekey:10 value:”ある”key:4 value:“吾輩”key:15 value:”猫”ReduceJSONを解析日本語を単語に分解(形態素解析)
    • 処理はJavaでごりごり書く!
    • 作ったら動かそう!Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
    • またMapReduceを書くの!?key:15 value:”猫”key:13 value:”犬”key:11 value:“ゴミ”key:11 value:”人間”Reducer1key:10 value:”ある”key:4 value:“吾輩”Reducer2Shufflekey:11 value:“ゴミ”key:10 value:”ある”key:15 value:”猫”key:4 value:“吾輩”key:11 value:”人間”key:13 value:”犬”並べ替え用の自作クラスを作成(IntWritableを継承)シャッフル処理を変更HashPartitioner↓TotalOrderPartitioner事前にkeyをサンプリング先ほどの処理結果ソートするにはもう1回MapReduce処理が必要
    • RDBMSとの連携その1: プレーンテキストCopyright © 2013 Insight Technology, Inc. All Rights Reserved.RDBMS X
    • RDBMSとの連携その2: SqoopCopyright © 2013 Insight Technology, Inc. All Rights Reserved.RDBMS X
    • RDBMSとの連携その3: 各社のConnectorRDBMS Connector名称 概要OracleQuest Data Connector for Oracleand HadoopQuest Software(現DELL)社製のSqoopプラグイン。Sqoop単体でOracleにインポートする際のいくつかの制限を解消。Oracle Oracle Loader for HadoopOracle社製のデータロード用MapReduceアプリケーション。Oracle Big Data Connectorsに含まれる。ダイレクトパスロードやData Pump形式のファイルをオフラインで出力するなどの機能あり。Oracle Oracle SQL Connector for HDFSOracle社製のHDFS上のファイルをOracleの外部表として扱うことができるコネクタ。Oracle BigData Connectorsに含まれる。通常のテキストファイルのほかHive表とData Pump形式ファイルも扱える。SQL ServerMicrosoft SQL Server Connector forApache HadoopMicrosoft社製のSqoopベースのコネクタ。Sqoop1.4よりSqoop本体に統合。Vertica HP Vertica HDFS ConnectorHP社製のコネクタ。VerticaへのパラレルロードやHDFS上のファイルを外部表として扱うことが可能。InfiniDB InfiniDB-Hadoop Data ConnectorCalpont社製のコネクタ。専用のファイルフォーマットを用意してパラレルロードを可能としている。Vectorwise Vectorwise Hadoop ConnectorActian社製のコネクタ。MapReduceアプリケーション。パラレルロードを可能としている。Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
    • でも…Hadoop上でSQLは使えないの?Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
    • HiveでGO!Copyright © 2013 Insight Technology, Inc. All Rights Reserved.CSVメタストアデータベース(PostgreSQLなど)
    • HiveでSQLを実行してみようselectl_orderkey,sum (l_extendedprice * (1 - l_discount)) as revenue,o_orderdate,o_shippriorityfromcustomer c joinorders oon c.c_mktsegment = BUILDINGand c.c_custkey = o.o_custkey joinlineitem lon l.l_orderkey = o.o_orderkeywhereo_orderdate < 1995-03-28and l_shipdate > 1995-03-28group byl_orderkey,o_orderdate,o_shippriorityorder byrevenue desc,o_orderdate limit 10;Copyright © 2013 Insight Technology, Inc. All Rights Reserved.TPC-H Q3
    • Copyright © 2013 Insight Technology, Inc. All Rights Reserved.HiveでSQLを実行してみよう
    • オーバーヘッドは結構大きい020406080100120MapReduceのみ 処理全体(秒)Hive処理MR4MR3MR2MR1Copyright © 2013 Insight Technology, Inc. All Rights Reserved.Q3 SF=10(GB)の場合
    • データが多けりゃ気にならない!050100150200250300350MapReduceのみ 処理全体(秒)Hive処理MR4MR3MR2MR1Copyright © 2013 Insight Technology, Inc. All Rights Reserved.Q3 SF=100(GB)の場合
    • データ10倍でも処理時間はたったの2倍Copyright © 2013 Insight Technology, Inc. All Rights Reserved.010002000300040005000600070008000SF=10(GB) SF=100(GB)(秒)TPC-H用クエリ(22個)を一部Hive用に修正して実行
    • でも…HWのボトルネックには気をつけてCopyright © 2013 Insight Technology, Inc. All Rights Reserved.02000400060008000100001200014000160001800020000SF=10(GB) SF=100(GB)(秒)
    • Copyright © 2013 Insight Technology, Inc. All Rights Reserved.•緑: User CPU•青: I/O Waitでも…HWのボトルネックには気をつけて
    • 楽はできるようになったけど…Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
    • Real-Time Query、それがImpalaCopyright © 2013 Insight Technology, Inc. All Rights Reserved.Cloudera社Webサイトより
    • Copyright © 2013 Insight Technology, Inc. All Rights Reserved.では実行だ!
    • 超速!020406080100120Hive Impala(秒)Copyright © 2013 Insight Technology, Inc. All Rights Reserved.Q3 SF=10(GB)1/5以下!
    • 超速!020406080100120140160180Hive Impala(秒) Insert1 Insert2 SelectCopyright © 2013 Insight Technology, Inc. All Rights Reserved.Q2 SF=10(GB)1/20以下!
    • あれ?でも…050100150200250300350400450Hive Impala(秒)Copyright © 2013 Insight Technology, Inc. All Rights Reserved.Q3 SF=100(GB)
    • メモリ大食い、書き込みは苦手…Copyright © 2013 Insight Technology, Inc. All Rights Reserved.
    • このデータ量ならやはり本職が強し!050100150200250300350400450Hive Impala Vectorwise(秒)Copyright © 2013 Insight Technology, Inc. All Rights Reserved.Q3 SF=100(GB)2.7秒
    • Hadoopを愛するためにはCopyright © 2013 Insight Technology, Inc. All Rights Reserved.1. 面倒くさがらず、まずはMapReduce。2. ぐちゃぐちゃデータをきれいにし、RDBMSと連携して分析という流れが鉄板。3. Hiveは遅い!でも使い道はある。4. Impalaの活躍場所は限定的。でもはまれば強力。
    • さらにHadoopへの愛を深めて…Copyright © 2013 Insight Technology, Inc. All Rights Reserved.DBOnlineで連載しました。機械学習(Mahout)もやってみたよ。http://enterprisezine.jp/dbonline/
    • •無断転載を禁ず•この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。•株式会社インサイトテクノロジーは本書の内容に関していかなる保証もしません。また、本書の内容に関連したいかなる損害についても責任を負いかねます。•本書で使用している製品やサービス名の名称は、各社の商標または登録商標です。