Exploration into HDInsight
Tuning Maniax 2014 Hadoopコース参戦記
2014-07-26 クラウド温泉4.0@小樽
中村 良幸(なかむら よしゆき)
統合ID: nakayoshix
Python札幌 / 数学勉強会@札幌 / クラウド研究会@札幌
Hadoopとは
● Hadoopは、大規模データの分散処理を支えるJavaで書かれたソ
フトウェアフレームワークである。
● Hadoopは、アプリケーションが数千ノードおよびペタバイト級の
データを処理することを可能としている。
● 元々はGoogleのMapReduceおよびGoogle File System(GFS)論
文に触発されたものである。
● Apacheのトップレベルプロジェクトの1つであり、世界規模の開発
者コミュニティによって開発され、使用されている。
● 有名どころのユーザとして、Yahoo、Facebookでは以前から大規
模に使われている。
● Apache License 2.0で配布されているオープンソースソフトウェア
である。
Hadoopの主な構成要素
● Hadoop Common – 他のHadoopモジュールで必要となる共通
のライブラリとユーティリティ
● Hadoop Distributed File System (HDFS) – コモディティマシン
上にデータを保存する分散ファイルシステム。クラスタ全体では非
常に高いバンド幅を提供する。
● Hadoop YARN – クラスタの各計算リソースおよびユーザ・アプリ
ケーションのスケジューリングの管理を行う、リソース管理プラット
フォーム。
● Hadoop MapReduce – 大規模データ処理のためのプログラミン
グ・モデル
● 他にも、サブのモジュールが多数存在します。
○ HBase, Hive, Mahout, Pig, Spark, Tez, ZooKeeper, …
HDFSとは
● 複数のコンピューターを束ねて、一つの仮想的なファイルシステム
を提供。
○ Hadoop クラスタに属する全てのノードが同じ名前空間を共
有。
● 各ファイルは 64 MB ~ 256 MB 程度のブロックに分割されて、複
数ノードに分散。
○ ブロックサイズが大きいのは、シーケンシャルアクセスに特化し
ているため
● 各断片は最低 3 ノードに複製され、ノード障害への耐性を持つ。
● 一つのファイルの複数の部分を、複数のコンピューターで同時に処
理することで、処理を高速化することができる。
MapReduceとは
● MapReduceは、コンピュータのクラスタ上での巨大なデータセット
に対する分散コンピューティングを支援する目的で、Googleによっ
て2004年に導入されたプログラミングモデル。
● MapReduceは、関数型言語でよく使われるMap関数とReduce関
数からヒントを得て作られているが、フレームワークにおけるそれら
の使われ方は元々のものと同じではない。
● MapReduceは、「Map」「Shuffle」「Reduce」の3つのフェイズに分
かれる。
● ユーザーは、Mapフェイズ、Reduceフェイズで繰り返し呼び出され
る、map関数、reduce関数に行いたい処理を記述する。(Shuffle
は自動的に行われる。)
HDInsightとは
● Microsoftが2013年10月よりAzure上にてサービス開始した、
Hadoopサービス。一種の「Hadoop as a Service」
● Horton Works(三大Hadoopディストリビュータの一つ)による、
HadoopのWindowsへの移植がベースである。
● Azure上のWeb管理コンソールから、ノード数等を指定して
Hadoopクラスターの構築、管理、削除が簡単に行える。
● Windowsユーザの場合は、PowerShellを用いてWeb管理コン
ソールと同等、あるいはそれ以上の操作を行うことができる。
PowerShellスクリプトを書けば自動化も容易である。
● azure-cli(Command Line Interface)を用いることで、LinuxやMac
からでもコマンドラインからの操作が可能であるが、PowerShell版
と比べると現時点でまだ出来ないことも多い。
HDInsightの他のサービスとの違い
● AWSでいえば、EMR(Elastic MapReduce)に相当するサービスで
あるが、EMRとの大きな違いが一つある。
→ それは、最小課金時間単位である。
○ AWS EMR    一時間
○ Azure HDInsight 一分間
○ この違いは、使い方によっては大きなコスト削減に繋がる
● 他に大きな違いとしては、Hadoopの主要な構成モジュールの一つ
であるHDFSを使用していないという点がある。
● その代わりに、AzureのBLOBサービスを利用している。
○ つまり、デフォルトではローカルディスクを使用せず
○ これが良いのか悪いのかは、私の目からは何とも… ;-)
○ ノード数が非常に多くなるとバンド幅が大きく影響する。
Tuning Maniax 2014とは
● Tuning Maniax 2014は、“指定されたクラウド環境とオープンソー
ス・ソフトウェア(OSS)を使って、どれだけパフォーマンスを出せる
か”をテーマにしたコンテスト。
● コンテストの舞台となるのは、マイクロソフト社のクラウドプラット
フォーム「Microsoft Azure」(旧Windows Azure)
● クラウド上に準備したWordPressおよびHadoopを使い、以下の
二つのコースでそれぞれ最速を目指す
○ パフォーマンス向上のためチューニングを行う入門コース
○ 巨大なログファイルを解析する上級コース(Hadoop)
● “参加特典として、Amazonギフト券¥15,000分をはじめ、入賞され
た方にも豪華賞品の数々を用意しております。”
● https://maniax.jp/tuning_maniax/2014/about
私のパフォーマンスチューニング歴
● 1994〜2000年「High Performance Computing」
○ 札幌市内の某建設コンサル会社にて、津波被害予測や港湾の
汚染物質拡散計算等、数値解析に関わる業務を担当
○ FORTRANで書かれたかなり古いソースコードを少しでも高速
実行させようと、趣味でパフォーマンスチューニング
○ DEC Fortran90, KAP, HPF, OpenMP等を試してみる
○ Alpha CPU6台を積んだAlphaサーバにて並列実行するなど
● 2001年秋〜2003年春「CRMパッケージのカスタマイズ」
○ Siebel(当時のCRMトップベンダー)のカスタマイズ案件
○ パッケージの常識を無視した無謀なカスタマイズにより、お客様
一件の検索に700秒以上かかる等、悲惨な状態に
○ 徹底した解析とモデルレベルの組み替えで、ほぼ全て解決
Tuning Maniax 2014参加に至る経緯
1. 4/3(木) Microsoftのテクニカル・エバンジェリスト、戸倉彩さん(クラウディ
アさんの外の人)のポストで、チューニング・マニアックスの存在を知る。
https://www.facebook.com/nakayoshix/posts/10203413840365740
2. 4/20(日) Tuning Maniax 2014 Hadoopコース & WordPressコースへの
登録申請をギリギリで完了する。
https://www.facebook.com/nakayoshix/posts/10203532726737825
3. 4/21(月) 前の週より入院していた私の父が、肺炎により亡くなる。(これ
が私の中の何かを変えた…ような気がします)
4. 5/3(土)「無料ではじめるWindows Azure×WordPress超入門」
http://www.amazon.co.jp/dp/4844334425 を買う。
https://www.facebook.com/nakayoshix/posts/10203634280956617
まずはJavaでやってみました
● まずは、JavaでMapperとReducerを書いてみました
○ ThinkITに掲載されている解説記事の通りに実装
http://thinkit.co.jp/story/2014/04/29/4967
● まずは小規模なテスト用データセットでテスト実行を行い、これで
OKということで本番用データでやろうとしたところ…
○ ノード数がデフォルトの4より大きくできない!?
「しまった、これは詰んだか…orz」
○ 早速サポートに連絡してみたところ、ノード制限の緩和にには
US対応が必要となり、最低でも一営業日は必要
● それがわかったのが、当初の締め切り日(5月6日)だったので、今
回は諦めようと思いましたが…
○ Microsoftの佐々木さんにFacebookメッセージにて連絡
○ 「締め切り日を伸ばす方向で調整します」との返事が!
○ やっぱり、諦めなくて良かったー! v(^_^)
最終的にどうやって実行したか?
● 色々と検討した結果、今回は「Hive」を利用することに決定
○ オライリーの「プログラミングHive」を買って来て読む
○ 全部読む時間はないので、第10章の「チューニング」だけ精読
し、後は目次を見て必要なところだけを拾い読み
○ Hive Queryレベルで、可能な限りのチューニングを行う
● HDInsight 3.0では、何故かRemote Desktop接続が不可能に!
○ 「これはもう詰んだか…」と思うも、簡単には諦めず
○ 今から新しくWindowsをインストールして、PowerShellの細か
い使い方を覚えるのは、時間的にどう考えても無理
○ LinuxやMacOSから使える手段がないのか徹底的に調べたと
ころ、Microsoft Franceの方が書いたブログ記事を発見し、
REST API(WebHCat)によるジョブ投入が可能に!
Hiveとは
● Apache Hive はHadoopの上に構築されたデータウェアハウス 構
築環境であり、データの集約・問い合わせ・分析を行う。
● 当初はFacebookによって開発されたが、その後さまざまな団体が
開発に参加し、またユーザーとなった。
● Hive はAmazon Web ServicesのAmazon Elastic MapReduce
(EMR)にも含まれている。
● Apache HiveはHadoop互換のファイルシステム(たとえば
Amazon S3)に格納された大規模データセットの分析を行う。
● 使用には、map/reduceを完全にサポートしたSQLライクな
「HiveQL」という言語を用いる。これは内部的にMap/Reduceジョ
ブに変換される
● クエリの高速化のため、ビットマップインデックスを含めたインデク
ス機能も実装している。
WebHCatとは
● WebHCatは、Hadoopのテーブルおよびストレージ管理レイヤーで
あるHCatalogのためのREST APIです。
● REST APIなので、たとえ手元にWindowsマシンがなくても、Linux,
MacOSから問題なくアクセス可能です。
Hadoopコース優勝に至る経緯
● 5/16(金)「プログラミングHive」
http://www.amazon.co.jp/dp/4873116171 を買う。
● 5/17(土) 初めてHiveを使ってみる。WebHCatというREST APIの存在を
知る。
https://cwiki.apache.org/confluence/display/Hive/WebHCat+UsingW
ebHCat
● 5/18(日) Pythonスクリプトの中に記述したHiveのSQLを少しずつ書き換
えながら、練習用のmedium-1GBx64データを使って4ノード(24コア)での
テストを繰り返す。
● 5/19(月) 本番用のfull-1GBx1280(約1.3TB)のデータを使い、256ノード
(1032コア)のHDInsightクラスタ構成を組んで、一回限りの大勝負に賭け
る。
● 5/23(金) Tuning Maniax事務局より「優勝」との連絡が入る。
https://www.facebook.com/nakayoshix/posts/10203777947388188
なぜ優勝できたのか?
● Hadoopコース締切が、当初の期限より延長されたこと
○ 多数の応募者から延長リクエストがあったらしいです…
● コンテストのルール自体に可塑性があったこと
○ Maniaxのサイトに登録したAzureのサブスクリプションを変更し
ても良いことになり、最初からやり直し可能に
● Hiveによるプログラムに切り替えたことで、Hiveの持つ特徴や
チューニング機能を最大限活かすことが出来た
○ 三つの問題を、一つのHive queryで処理したこと
● ノード数を256にまで上げたこと(1032コア)
○ 256x4(ワーカーノード) + 1x8(ヘッドノード) = 1032コア
● Microsoftのサポート担当者が非常に良い人だったこと
○ どうやら実際には当たり外れがあるらしいです… (^^;
最新版HDInsight3.1の特徴
● Namenode HA
Hadoopの弱点であった「ネームノードが単一障害点」を解消
● HBase
○ カラム指向の分散データベース(所謂 NoSQL の一種)
○ GoogleのBigtableに相当するオープンソースソフトウェア
○ シーケンシャルな読み取りアクセスに特化した HDFS の上に、
高速なランダム読み書きが可能な仕組みを構築
● Tez
○ Hortonworks によって進められた “Stinger” イニシアチブの成
果物
○ Hive のクエリを(場合によっては)数十倍高速化
HDInsight3.1を使ってみる
● ここで、実際にやってみましょう!
F#でも使いたい! (HadoopFsとは)
● HadoopFsとは
○ Hadoop(HDInsightも含む)を、F#から使うためのライブラリ
○ githubでソースコードが公開されています
○ https://github.com/isaacabraham/HadoopFs
● The existing .NET APIs for Hadoop that runs on e.g. HDInsight are somewhat
awkward from an F# point of view: -
○ Requires inheriting from abstract classes
○ Inpure style makes code harder to test
● HadoopFs makes life easier for the F# developer that wants to develop map/reduce
jobs: -
○ No base class hierarchy for your map / reduce functions to adhere to
○ Support for both optional single-instance outputs and output collections
○ Support for easily testing inputs and outputs from file system as well as
in-memory data source, or you can supply your own
○ Easy to test your map and reduce functions - no need for external Hadoop test
libraries
HadoopFsの使用例
● githubのソースコードを見ましょう!
おまけ
「クラウド禅問答」とは
これで終わりです
どうもありがとうございました
中村 良幸 (なかむら よしゆき)
統合ID: nakayoshix
出会い系勉強会エバンジェリスト

2014-07-26 Exploration into HDInsight Tuning Maniax 2014 Hadoopコース参戦記

  • 1.
    Exploration into HDInsight TuningManiax 2014 Hadoopコース参戦記 2014-07-26 クラウド温泉4.0@小樽 中村 良幸(なかむら よしゆき) 統合ID: nakayoshix Python札幌 / 数学勉強会@札幌 / クラウド研究会@札幌
  • 2.
    Hadoopとは ● Hadoopは、大規模データの分散処理を支えるJavaで書かれたソ フトウェアフレームワークである。 ● Hadoopは、アプリケーションが数千ノードおよびペタバイト級の データを処理することを可能としている。 ●元々はGoogleのMapReduceおよびGoogle File System(GFS)論 文に触発されたものである。 ● Apacheのトップレベルプロジェクトの1つであり、世界規模の開発 者コミュニティによって開発され、使用されている。 ● 有名どころのユーザとして、Yahoo、Facebookでは以前から大規 模に使われている。 ● Apache License 2.0で配布されているオープンソースソフトウェア である。
  • 3.
    Hadoopの主な構成要素 ● Hadoop Common– 他のHadoopモジュールで必要となる共通 のライブラリとユーティリティ ● Hadoop Distributed File System (HDFS) – コモディティマシン 上にデータを保存する分散ファイルシステム。クラスタ全体では非 常に高いバンド幅を提供する。 ● Hadoop YARN – クラスタの各計算リソースおよびユーザ・アプリ ケーションのスケジューリングの管理を行う、リソース管理プラット フォーム。 ● Hadoop MapReduce – 大規模データ処理のためのプログラミン グ・モデル ● 他にも、サブのモジュールが多数存在します。 ○ HBase, Hive, Mahout, Pig, Spark, Tez, ZooKeeper, …
  • 4.
    HDFSとは ● 複数のコンピューターを束ねて、一つの仮想的なファイルシステム を提供。 ○ Hadoopクラスタに属する全てのノードが同じ名前空間を共 有。 ● 各ファイルは 64 MB ~ 256 MB 程度のブロックに分割されて、複 数ノードに分散。 ○ ブロックサイズが大きいのは、シーケンシャルアクセスに特化し ているため ● 各断片は最低 3 ノードに複製され、ノード障害への耐性を持つ。 ● 一つのファイルの複数の部分を、複数のコンピューターで同時に処 理することで、処理を高速化することができる。
  • 5.
  • 6.
    HDInsightとは ● Microsoftが2013年10月よりAzure上にてサービス開始した、 Hadoopサービス。一種の「Hadoop asa Service」 ● Horton Works(三大Hadoopディストリビュータの一つ)による、 HadoopのWindowsへの移植がベースである。 ● Azure上のWeb管理コンソールから、ノード数等を指定して Hadoopクラスターの構築、管理、削除が簡単に行える。 ● Windowsユーザの場合は、PowerShellを用いてWeb管理コン ソールと同等、あるいはそれ以上の操作を行うことができる。 PowerShellスクリプトを書けば自動化も容易である。 ● azure-cli(Command Line Interface)を用いることで、LinuxやMac からでもコマンドラインからの操作が可能であるが、PowerShell版 と比べると現時点でまだ出来ないことも多い。
  • 7.
    HDInsightの他のサービスとの違い ● AWSでいえば、EMR(Elastic MapReduce)に相当するサービスで あるが、EMRとの大きな違いが一つある。 →それは、最小課金時間単位である。 ○ AWS EMR    一時間 ○ Azure HDInsight 一分間 ○ この違いは、使い方によっては大きなコスト削減に繋がる ● 他に大きな違いとしては、Hadoopの主要な構成モジュールの一つ であるHDFSを使用していないという点がある。 ● その代わりに、AzureのBLOBサービスを利用している。 ○ つまり、デフォルトではローカルディスクを使用せず ○ これが良いのか悪いのかは、私の目からは何とも… ;-) ○ ノード数が非常に多くなるとバンド幅が大きく影響する。
  • 8.
    Tuning Maniax 2014とは ●Tuning Maniax 2014は、“指定されたクラウド環境とオープンソー ス・ソフトウェア(OSS)を使って、どれだけパフォーマンスを出せる か”をテーマにしたコンテスト。 ● コンテストの舞台となるのは、マイクロソフト社のクラウドプラット フォーム「Microsoft Azure」(旧Windows Azure) ● クラウド上に準備したWordPressおよびHadoopを使い、以下の 二つのコースでそれぞれ最速を目指す ○ パフォーマンス向上のためチューニングを行う入門コース ○ 巨大なログファイルを解析する上級コース(Hadoop) ● “参加特典として、Amazonギフト券¥15,000分をはじめ、入賞され た方にも豪華賞品の数々を用意しております。” ● https://maniax.jp/tuning_maniax/2014/about
  • 9.
    私のパフォーマンスチューニング歴 ● 1994〜2000年「High PerformanceComputing」 ○ 札幌市内の某建設コンサル会社にて、津波被害予測や港湾の 汚染物質拡散計算等、数値解析に関わる業務を担当 ○ FORTRANで書かれたかなり古いソースコードを少しでも高速 実行させようと、趣味でパフォーマンスチューニング ○ DEC Fortran90, KAP, HPF, OpenMP等を試してみる ○ Alpha CPU6台を積んだAlphaサーバにて並列実行するなど ● 2001年秋〜2003年春「CRMパッケージのカスタマイズ」 ○ Siebel(当時のCRMトップベンダー)のカスタマイズ案件 ○ パッケージの常識を無視した無謀なカスタマイズにより、お客様 一件の検索に700秒以上かかる等、悲惨な状態に ○ 徹底した解析とモデルレベルの組み替えで、ほぼ全て解決
  • 10.
    Tuning Maniax 2014参加に至る経緯 1.4/3(木) Microsoftのテクニカル・エバンジェリスト、戸倉彩さん(クラウディ アさんの外の人)のポストで、チューニング・マニアックスの存在を知る。 https://www.facebook.com/nakayoshix/posts/10203413840365740 2. 4/20(日) Tuning Maniax 2014 Hadoopコース & WordPressコースへの 登録申請をギリギリで完了する。 https://www.facebook.com/nakayoshix/posts/10203532726737825 3. 4/21(月) 前の週より入院していた私の父が、肺炎により亡くなる。(これ が私の中の何かを変えた…ような気がします) 4. 5/3(土)「無料ではじめるWindows Azure×WordPress超入門」 http://www.amazon.co.jp/dp/4844334425 を買う。 https://www.facebook.com/nakayoshix/posts/10203634280956617
  • 11.
    まずはJavaでやってみました ● まずは、JavaでMapperとReducerを書いてみました ○ ThinkITに掲載されている解説記事の通りに実装 http://thinkit.co.jp/story/2014/04/29/4967 ●まずは小規模なテスト用データセットでテスト実行を行い、これで OKということで本番用データでやろうとしたところ… ○ ノード数がデフォルトの4より大きくできない!? 「しまった、これは詰んだか…orz」 ○ 早速サポートに連絡してみたところ、ノード制限の緩和にには US対応が必要となり、最低でも一営業日は必要 ● それがわかったのが、当初の締め切り日(5月6日)だったので、今 回は諦めようと思いましたが… ○ Microsoftの佐々木さんにFacebookメッセージにて連絡 ○ 「締め切り日を伸ばす方向で調整します」との返事が! ○ やっぱり、諦めなくて良かったー! v(^_^)
  • 12.
    最終的にどうやって実行したか? ● 色々と検討した結果、今回は「Hive」を利用することに決定 ○ オライリーの「プログラミングHive」を買って来て読む ○全部読む時間はないので、第10章の「チューニング」だけ精読 し、後は目次を見て必要なところだけを拾い読み ○ Hive Queryレベルで、可能な限りのチューニングを行う ● HDInsight 3.0では、何故かRemote Desktop接続が不可能に! ○ 「これはもう詰んだか…」と思うも、簡単には諦めず ○ 今から新しくWindowsをインストールして、PowerShellの細か い使い方を覚えるのは、時間的にどう考えても無理 ○ LinuxやMacOSから使える手段がないのか徹底的に調べたと ころ、Microsoft Franceの方が書いたブログ記事を発見し、 REST API(WebHCat)によるジョブ投入が可能に!
  • 13.
    Hiveとは ● Apache HiveはHadoopの上に構築されたデータウェアハウス 構 築環境であり、データの集約・問い合わせ・分析を行う。 ● 当初はFacebookによって開発されたが、その後さまざまな団体が 開発に参加し、またユーザーとなった。 ● Hive はAmazon Web ServicesのAmazon Elastic MapReduce (EMR)にも含まれている。 ● Apache HiveはHadoop互換のファイルシステム(たとえば Amazon S3)に格納された大規模データセットの分析を行う。 ● 使用には、map/reduceを完全にサポートしたSQLライクな 「HiveQL」という言語を用いる。これは内部的にMap/Reduceジョ ブに変換される ● クエリの高速化のため、ビットマップインデックスを含めたインデク ス機能も実装している。
  • 14.
    WebHCatとは ● WebHCatは、Hadoopのテーブルおよびストレージ管理レイヤーで あるHCatalogのためのREST APIです。 ●REST APIなので、たとえ手元にWindowsマシンがなくても、Linux, MacOSから問題なくアクセス可能です。
  • 15.
    Hadoopコース優勝に至る経緯 ● 5/16(金)「プログラミングHive」 http://www.amazon.co.jp/dp/4873116171 を買う。 ●5/17(土) 初めてHiveを使ってみる。WebHCatというREST APIの存在を 知る。 https://cwiki.apache.org/confluence/display/Hive/WebHCat+UsingW ebHCat ● 5/18(日) Pythonスクリプトの中に記述したHiveのSQLを少しずつ書き換 えながら、練習用のmedium-1GBx64データを使って4ノード(24コア)での テストを繰り返す。 ● 5/19(月) 本番用のfull-1GBx1280(約1.3TB)のデータを使い、256ノード (1032コア)のHDInsightクラスタ構成を組んで、一回限りの大勝負に賭け る。 ● 5/23(金) Tuning Maniax事務局より「優勝」との連絡が入る。 https://www.facebook.com/nakayoshix/posts/10203777947388188
  • 16.
    なぜ優勝できたのか? ● Hadoopコース締切が、当初の期限より延長されたこと ○ 多数の応募者から延長リクエストがあったらしいです… ●コンテストのルール自体に可塑性があったこと ○ Maniaxのサイトに登録したAzureのサブスクリプションを変更し ても良いことになり、最初からやり直し可能に ● Hiveによるプログラムに切り替えたことで、Hiveの持つ特徴や チューニング機能を最大限活かすことが出来た ○ 三つの問題を、一つのHive queryで処理したこと ● ノード数を256にまで上げたこと(1032コア) ○ 256x4(ワーカーノード) + 1x8(ヘッドノード) = 1032コア ● Microsoftのサポート担当者が非常に良い人だったこと ○ どうやら実際には当たり外れがあるらしいです… (^^;
  • 17.
    最新版HDInsight3.1の特徴 ● Namenode HA Hadoopの弱点であった「ネームノードが単一障害点」を解消 ●HBase ○ カラム指向の分散データベース(所謂 NoSQL の一種) ○ GoogleのBigtableに相当するオープンソースソフトウェア ○ シーケンシャルな読み取りアクセスに特化した HDFS の上に、 高速なランダム読み書きが可能な仕組みを構築 ● Tez ○ Hortonworks によって進められた “Stinger” イニシアチブの成 果物 ○ Hive のクエリを(場合によっては)数十倍高速化
  • 18.
  • 19.
    F#でも使いたい! (HadoopFsとは) ● HadoopFsとは ○Hadoop(HDInsightも含む)を、F#から使うためのライブラリ ○ githubでソースコードが公開されています ○ https://github.com/isaacabraham/HadoopFs ● The existing .NET APIs for Hadoop that runs on e.g. HDInsight are somewhat awkward from an F# point of view: - ○ Requires inheriting from abstract classes ○ Inpure style makes code harder to test ● HadoopFs makes life easier for the F# developer that wants to develop map/reduce jobs: - ○ No base class hierarchy for your map / reduce functions to adhere to ○ Support for both optional single-instance outputs and output collections ○ Support for easily testing inputs and outputs from file system as well as in-memory data source, or you can supply your own ○ Easy to test your map and reduce functions - no need for external Hadoop test libraries
  • 20.
  • 21.
  • 22.
    これで終わりです どうもありがとうございました 中村 良幸 (なかむらよしゆき) 統合ID: nakayoshix 出会い系勉強会エバンジェリスト