Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Data Scientist Workbench 入門

4,035 views

Published on

データサイエンティストのための
Spark 入門

昨今、データサイエンティストの間で「Spark」の人気が高まっています。データをインメモリで高速に処理できるSparkを使うと、大規模なデータを扱う際にもストレスなく分析できます。
今回の第3回 Big Data University - 東京ミートアップでは、RStudioで作ったプログラムを Spark上で実行してみる方法を解説します。
また、合わせて、Rや Sparkとの対話環境である Data Scientist Workbench の使い方を紹介します。

こちらは前半資料となります。

Published in: Software

Data Scientist Workbench 入門

  1. 1. まずは登録をお願いします • https://datascientistworkbench.com/
  2. 2. 名前およびメールアドレスを登録
  3. 3. この画面が出たら登録したメールのメールボックスを確認します Hello Soh, We are delighted to welcome you to the Data Scientist Workbench Technology Preview! We can't wait for you to start your evaluation and we are looking forward to getting your feedback. Your username is: yaori To confirm your account and set your password, please visit the following link: https://my.datascientistworkbench.com/set_pass word?username=XXXXX&token=XXXXXXXXXXX XXXXXX We will create a workbench just for you. You can start using it a few minutes after confirming your account! Thanks, -The Data Scientist Workbench Team If you'd like to unsubscribe and stop receiving these emails click here.ここをクリック
  4. 4. ユーザー名・パスワード登録後、環境準備が開始します ここまで来たら一旦終了
  5. 5. 本日の内容 ▪ Data Scientist Workbenchとは
  6. 6. • 2009年にUC Berkeley AMPLabのプロジェクトと してスタート、2010年にオープンソース化され、 現在では、Apache Software Foundationで現在 最もアクティブなプロジェクト。 • AMPLabで開発していたメンバーが中心となって Databricks社を設立し、コミュニティをリード。 IBMは、Founding Sponsorsの1つ。 Activity for 6 months in 2014 (from Matei Zaharia – 2014 Spark Summit) Sparkの歴史
  7. 7. • 速い - FAST • Hadoopと比べてのオーバーヘッド(JVM起動)などが 少ない。また、積極的なメモリ・キャッシュ処理を行うため高速 である。 • 汎用的処理向け - Generality • MapReduce処理より、様々なワークロード向け • SQLインターフェイス、ストリーム処理、Mllib/R分析の仕組 み • 使いやすい - Ease of use • SparkはScalaで実装されており、関数型言語を利用 • Scala, Python, Rおよび Java API • ScalaとPythonのインターラクティブ・シェルが使える • YARN, Mesos, スタンドアローン, cloudで実行可能 ロジスティック回帰分析 処理実行時間の比較(HadoopとSpark) 参考元:http://spark.apache.org Sparkの特徴
  8. 8. 処理実行結果の比較 • データセットを積極的にキャッ シュ上で処理し、 • 繰り返し処理するデータをメモリ 上に保持し、ディスク・アクセス・ コストを削減 統計処理や機械学習のような 「繰り返し計算」や「多段処理」が必 要な複雑な処理 出典:http://laser.inf.ethz.ch/2013/material/joseph/LASER-Joseph-6.pdf 処理性能比 ※2回目以降の実行が 圧倒的に高速な点に着目
  9. 9. 従来のMapReduceとSparkの違い • Sparkが「インメモリ処理」ができると言っているのは・・・ HDFS 処理1 (Map→Reduce) 処理1 (Map/Cache) 処理2 (Map→Reduce) 処理3 (Map→Reduce) 処理3 (Transform) MapReduce 処理2 (Join/Cache) キャッシュ キャッシュ ☆ただし、ディスク書き込みが全く無いわけではない. 明示的(persist() /checkpoint())および, 暗黙的(shuffle – reduceBykeyなど)に ディスク読み書きがある。
  10. 10. • Sparkは、汎用的(多目的)で柔軟 性があると言われる理由: • YARN/HDFSでの実行に加え、 ス タンドアローン、およびMESOS実行 が可能 • Sparkコア・エンジンを利用して、複 数のエントリー・ポイントを利用するこ とが可能。例えば、 SQL, ストリーム 処理, 機械学習, およびグラフ処理 • Spark Rが加わり、R実行も可能 Sparkの構成 Sparkの構成
  11. 11. Data Science Process https://en.wikipedia.org/wiki/Data_science
  12. 12. Data Science Workbench© Copyright IBM Corp. 2016 特徴 • Sparkと利用・分析するためのツールも構築済み • 様々なデータソース、データフォーマットを利用可能 • インタラクティブかつ繰り返し実行可能 • コミュニティを通した知識の共有 • 継続的な機能追加 • 誰でも無料 “Making open source data science easy”
  13. 13. ログイン後の画面 データ操作および分析のためのツール Data Science Workbenchのフォーラム、情報共有、リクエスト ①データ投入 ②データ整形 ③データ整形と分析の実行
  14. 14. ツール実行時の画面 Open Refine Jupyter Big Data University 機能追加のため の投票 RStudio Apache Zeppelin アイコン化 My Data
  15. 15. ①データ投入「My Data」 分析のためのデータの投入を行う 現在のディレクトリ構成 新規ディレクトリ作成 データのアップロード アップロードしたファイルは分析ツールから利用可能
  16. 16. ②データ整形「OpenRefine」 • Googleで開発されたGoogle Refineがベース • 2010年11月にイニシャルリリース、2012年10月に OpenRefineとしてオープンソース化 • WebブラウザからのGUI操作のみでデータのクレンジングや フォーマット変換が可能 • CSV, TSV, text files, XML, RDF, and JSON様々なファイル フォーマットに対応 • 分析を実行する前のデータの準備を実行
  17. 17. OpenRefineによるデータの絞込やクレンジング 数値データの範囲をグラフで絞り込み
  18. 18. OpenRefineによるデータの絞込やクレンジング 数値データの範囲をグラフで絞り込み データのブレに対して GUIでクレンジングが可能
  19. 19. 「RStudio」 • Rを使いやすくするのための統合開発環境 • Rユーザーのデファクトスタンダード • Data Scientist WorkbenchではBig Rも実行可能 • IBMの提供するライブラリ • スケーラブルかつ高パフォーマンス • Sparkに統合予定のSystemML
  20. 20. RStudio - RユーザーがSparkRを利用するためのIDE Sparkと連携 BigRと連携済み、即時利用可能
  21. 21. Jupyter, Zeppelin はNotebook… “Notebook”とは? • 紙と鉛筆 • 紙と鉛筆は、これまで長い間、 科学者がメモや図面を通して 進捗状況を文書化するための 重要なツールである: • 表現力 • 累積した情報 • コラボレーション • Notebooks • Notebooks は、これまでの 紙と鉛筆のデジタル版であり、 再現性のある分析と文書化を 可能にする: • マークダウンとグラフ化 • 反復探索 • 共有が容易
  22. 22. ③データ整形と分析の実行「Jupyter Notebook」 • リリース • 2001年にリリースされたIPythonをベースに、2015年に Jupyterとしてリリース • ノートブック • WebブラウザからのGUI操作可能 • コード実行、コメント記述、グラフの描画を実行可能 • カーネル • Data Scientist Workbenchでは、Scala,Python, Rを実 行可能
  23. 23. ③データ整形と分析の実行「Zeppelin Notebook」 • リリース • 2012年にCommercial Product、2013年にオープン ソース、2014年にASFインキュベーションプロダクト • ノートブック • WebブラウザからのGUI操作可能 • コード実行、コメント記述、グラフの描画を実行可能 • インタープリタ • Scala, Python, SQL,shellコマンド など
  24. 24. ファイルサーチ& URL 挿入(ノートの共有) 「My Data」のファイル Jupyter 操作画面
  25. 25. Jupyterにおけるセル・コメント・コード コメント コード(実行中) コード(未実行) コメント セルの種類
  26. 26. よく使うJupyterのアイコン 状態のセーブ・チェックポイントの作成 セルの削除 セルの順番入れ替え セルの実行 セルの追加
  27. 27. 修正したコード(セル)からの再実行 実行したセルに対して変更を加える
  28. 28. 修正したコード(セル)からの再実行 修正したセルから再実行可能 番号が下のセルより上がっている
  29. 29. コード補完 Tabを押下することでコー ド補完が行われる
  30. 30. キーボードショートカット キーボードショートカットによるviライクな操作が可能 (j、kでセ ル間を移動) Enterでセル毎の編集モードに入り、EscでNotebookへのコマンドモードに変更
  31. 31. ユーザーインターフェース の細かい解説を確認可能
  32. 32. フィードバックと投票 実現してほしいアイデアの投稿、投票が可能
  33. 33. 非常に多くの機能がありますが 触りながら覚えていきましょう!
  34. 34. ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみで提供されており、いかなる参加者に対しても法 律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提 供され、明示または暗示にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わないも のとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス 契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示するものではありません。本講演資料で言及している製品リリー ス日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したもの ではありません。本講演資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果 を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーの ジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここ で述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。実際の環境コストおよびパフォーマンス特性は、お客 様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、[以下当該情報に関連し商標リスト中に掲載されたIBMブランドやIBMの製品名称があれば追加する]は、 世界の多くの国で登録されたInternational Business Machines Corporation の商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。 Adobe, Adobeロゴ, PostScript, PostScriptロゴは、Adobe Systems Incorporatedの米国およびその他の国における登録商標または商標です。 IT Infrastructure LibraryはAXELOS Limitedの登録商標です。 インテル, Intel, Intelロゴ, Intel Inside, Intel Insideロゴ, Centrino, Intel Centrinoロゴ, Celeron, Xeon, Intel SpeedStep, Itanium, およびPentium は Intel Corporationまたは子会社の米国およびその他の国に おける商標または登録商標です。 Linuxは、Linus Torvaldsの米国およびその他の国における登録商標です。 PowerLinux is a trademark of International Business Machines Corp. The registered trademark Linux is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis. Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標です。 ITILはAXELOS Limitedの登録商標です。 UNIXはThe Open Groupの米国およびその他の国における登録商標です。 Cell Broadband Engineは、Sony Computer Entertainment, Inc.の米国およびその他の国における商標であり、同社の許諾を受けて使用しています。 JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商標です。 Linear Tape-Open, LTO, LTOロゴ, UltriumおよびUltriumロゴは、HP, IBM Corp.およびQuantumの米国およびその他の国における商標です。

×