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.

20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京

5,654 views

Published on

マイクロソフトは より効率的、かつ大量のデータを使ったデータ分析のための基盤を急ピッチで拡充しています。
分析自体やデータ準備の前処理における手段の1つとして使って頂くことを想定している各種製品・サービスについて説明します。
具体的には、R の並列実行環境である Microsoft R Server、Power BI、並列処理基盤である Azure Data Lake Analytics、Azure Machine Learning を取り上げます。

Published in: Technology

20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京

  1. 1. Microsoft が推し進めるビッグデータの民主化
  2. 2. 2
  3. 3. 3 マイクロソフトのデータ分析基盤と利用事例 双方向ダッシュボード – Power BI データ分析のため前処理と分析バッチ処理 - Azure Data Lake Analytics R スクリプトを並列実行 - Microsoft R Server 機械学習を具体的な API として利用 - Project Oxford / Azure Machine Learning まとめ 1. 2. 3. 4. 5. 6. 10 分 7 分 7 分 7 分 7 分 2 分
  4. 4. 4
  5. 5. 6 開発言語 Microsoft Azure
  6. 6. 7 米国中部 Iowa 米国西部 California 北ヨーロッパ Ireland 米国東部 Virginia 米国東部2 Virginia米国政府 Virginia 米国中北部 Illinois 米国政府 Iowa 米国中南部 Texas 南ブラジル Sao Paulo 西ヨーロッパ Netherlands 北中国 * Beijing 南中国 * Shanghai 東日本 Saitama 西日本 Osaka 南インド Chennai 東アジア Hong Kong 東南アジア Singapore 東南オーストラリア Victoria 東オーストラリア New South Wales 中央インド Pune カナダ東部 Quebec City カナダ中部 Toronto 西インド Mumbai (2015年 12月現在) 稼働中 構築中 * Operated by 21Vianet  100カ所以上のデータセンター  ネットワーク網が全世界でトップスリーの一つ  AWS の2倍、Google 6倍の地域サポート  G Series – 最大 VM 提供開始 – 32 コア, 448GB RAM, SSD… 22 の地域でサービス中、28 の地域まで拡大予定 ドイツ ×2 Magdeburg & Frankfurt UK ×2
  7. 7. 8 Machine Learning Stream Analytics SQL Data Ware House / SQL Database / DocumentDB IoT Hub / Event Hub 各種デバイス Data Factory Data Lake Store Storage (Blob / Table / Queue) Data Lake Analytics Power BI Cortana Analytics Suite (コルタナ アナリティクス スイート) * IoT Hub と R Server 除く 一部サービス含む Microsoft R Server HDInsight Project Oxford Data Catalog
  8. 8. 9価値
  9. 9. 10 https://blogs.microsoft.com/business-matters/2015/07/13/dartmouth-hitchcock-ushers-in-a- new-age-of-proactive-personalized-healthcare-using-cortana-analytics-suite/
  10. 10. 12  PowerBI.com Service ✅ Azure 上で提供される SaaS 型 BI サービス ✅ ダッシュボード、レポート分析、様々なデータの取得 ✅ Push 型のリアルタイム表示も可能 (REST API & Stream Analytics)  Power BI Desktop ✅ 無償のデスクトップ BI ツール ✅ レポート分析、様々なデータの取得 ✅ Excel 2013 の Power Query, PowerPivot, Power View の各機能を取り出し、統合化 Dashboard Report Report
  11. 11. 13 • ダッシュボードとレポートを含むコンテンツパックの利用と作成 • デスクトップ や クラウド上の Power BI Desktop ファイル (.pbix)、Excel ファイルのインポート • Azure SQL Database / Azure SQL Data Warehouse / SQL Server Analysis Services 表形式モード (インメモリ DB) / Spark on HDInsight に対するダイレクト クエリをサポート
  12. 12. 14
  13. 13. 15 • SQL Server Analysis Services コネクタ • PowerBI.com からオンプレミスの SSAS 表形式インメモリ DB に対するダイレクト クエリ連携 • 対象: SQL Server Analysis Services (表形式モード) • Power BI パーソナル ゲートウェイ • PowerBI.com にアップロードした PowerPivot インメモリDB とオンプレミス データソースの間 のリフレッシュ連携 • 対象: Excel ファイル、CSV ファイル 等
  14. 14. 16 https://github.com/Microsoft/PowerBI-visuals
  15. 15. 17 Power BI (Free) Power BI Pro (有償)
  16. 16. 19 * 平均26年度総務省 情報通信白書 第 3 章より
  17. 17. 20
  18. 18. 21
  19. 19. 22 ・ マイクロソフトが提供する Managed な Hadoop サービス ・ GUI / スクリプトでクラスター構成可能 Hadoop の設定ファイルを 1 つ 1 つ編集、設定することも可能 ・ Apache Hadoop ファミリーや Apache Spark の 各種コンポーネントも利用可能 - Apache HBase, Apache Storm, Hive, Pig, Spark Streaming 等 ・ マイクロソフトが提供する Managed な HDFS* 互換サービス * Hadoop Distributed File System ・ 構造化/非構造化ファイルを容量上限なしに格納可能 ・ HDFS 同様、複数ファイルに自動複製して保持 ・ 並列分散処理のためのサービス ・ Scala や Python ではなく、U-SQL と呼ぶ SQL ライクな言語で 処理を実装する ・ 実行の都度、並列度 (シングルから超多重処理まで) を決定可 ・ 処理内容の統計(各操作の In/Out や時間等) をグラフィカルに 確認可
  20. 20. 23 HDInsight Microsoft R Server Azure Data Lake Store HDInsight & Azure Data Lake Analytics
  21. 21. 24
  22. 22. 25 .Split(‘;’)
  23. 23. 26 Azure Data Lake Analytics Azure SQL Data Warehouse Azure SQL Database Azure Blob Storage Azure Data Lake Store SQL DB on Azure VM
  24. 24. 27 Azure Data Lake Analytics Azure Data Lake Store なし ¥ 1.74 / 分 ¥ 2.55 / ジョブ 例) ¥ 52,200 / 月 毎日 10 時間 100 多重で 100 ジョブ実行 定常的にかかる費用 処理量に応じてかかる費用 ¥ 4.08 / 1GB 例) ¥ 20,040 常時 5 TB を格納 ¥ 7.14 / 最大 128GB 例) ¥ 1,712 毎日 約 1TB のアクセス (In/Out)
  25. 25. 28
  26. 26. 30 • 無償、オープン ソースの R ディストリビューション • マイクロソフトによって拡張して提供 Microsoft R Open (MRO) • スケール実行が可能でサポートが受けられる R ディストリビューション • マイクロソフトによって作成した特別なコンポーネントを含む Microsoft R Server (MRS)
  27. 27. 31 Revolution R Enterprise Revolution R Open Microsoft R Server SQL Server 2016 R Services * Microsoft R Open これまで これから Windows Hadoop Red Hat SuSE Teradata Linux (Ubuntu/CentOS /Red Hat/SuSE) Windows Mac * SQL Server 2016 リリースまでは Revolution R Enterprise for Windows を利用
  28. 28. 32
  29. 29. 33 • Microsoft R Server for Red Hat Linux • Microsoft R Server for SUSE Linux • Microsoft R Server for Teradata DB • Microsoft R Server for Hadoop on Red Hat • RRE for Windows (Microsoft SQL Server 2014 Enterprise Edition + SA の場合) Microsoft R Server (MRS)
  30. 30. 34 • メモリに収まる範囲での処理 • 大規模データ使用時の Out of Memory • データのサンプリングによる制約 • 直列処理、処理するためにはデータの移動が必要 • 長時間かかる処理、データ移動も長時間かかる • 並列実行を独自に組み込むには複雑 • 商用サポートなし • 個人 PC のみでの利用で低い機能性、企業利用の場合問題が発生しても 解決が難しい場合も
  31. 31. 35 データ処理 インメモリ インメモリ インメモリ or ディスク 分析スピード シングルスレッド マルチスレッド マルチスレッド 1:N のサーバーに対する 並列処理 サポート コミュニティ コミュニティ コミュニティ+ 商用サポート 分析のための パッケージ 7500 を超えるパッ ケージ (CRAN) 7500 を超えるパッ ケージ (CRAN) 7500 を超えるパッケージ (CRAN) + 商用の高速並列関数 ライセンス オープンソース オープンソース 商用ライセンス Microsoft R Open (MRO) Microsoft R Server (MRS)
  32. 32. 36 マスター アルゴリズム プロセス アルゴリズム 大規模 データ各ブロック を分析 都度ブロック 読み込み 分散処理 結果 Microsoft R Server “クライアント” Microsoft R Server “サーバー” コンソール R IDE もしくは コマンドライン リクエスト内容 纏めてリモート 環境に送信
  33. 33. 37 ### ANALYTICAL PROCESSING ### ### Statistical Summary of the data rxSummary(~ArrDelay+DayOfWeek, data= AirlineDataSet, reportProgress=1) ### CrossTab the data rxCrossTabs(ArrDelay ~ DayOfWeek, data= AirlineDataSet, means=T) ### Linear Model and plot hdfsXdfArrLateLinMod <- rxLinMod(ArrDelay ~ DayOfWeek + 0 , data = AirlineDataSet) plot(hdfsXdfArrLateLinMod$coefficients) ### SETUP LOCAL ENVIRONMENT VARIABLES ### myLocalCC <- “localpar” ### LOCAL COMPUTE CONTEXT ### rxSetComputeContext(myLocalCC) ### CREATE LINUX, DIRECTORY AND FILE OBJECTS ### localFS <- RxNativeFileSystem() AirlineDataSet <- RxXdfData(“AirlineDemoSmall.xdf”, fileSystem = localFS) myHadoopCC <- RxHadoopMR() rxSetComputeContext(myHadoopCC) hdfsFS <- RxHdfsFileSystem() hdfsFS 自ノードでの並列実行 – Linux/Windows Hadoop 上での実行 R スクリプトの 実行コンテキスト 「どこで処理を行 うか?」の設定 処理内容は 実行する場所が 変わっても同一
  34. 34. 38 ### ANALYTICAL PROCESSING ### ### Statistical Summary of the data rxSummary(~ArrDelay+DayOfWeek, data= AirlineDataSet, reportProgress=1) ### CrossTab the data rxCrossTabs(ArrDelay ~ DayOfWeek, data= AirlineDataSet, means=T) ### Linear Model and plot hdfsXdfArrLateLinMod <- rxLinMod(ArrDelay ~ DayOfWeek + 0 , data = AirlineDataSet) plot(hdfsXdfArrLateLinMod$coefficients) ### SETUP LOCAL ENVIRONMENT VARIABLES ### myLocalCC <- “localpar” ### LOCAL COMPUTE CONTEXT ### rxSetComputeContext(myLocalCC) ### CREATE LINUX, DIRECTORY AND FILE OBJECTS ### localFS <- RxNativeFileSystem() AirlineDataSet <- RxXdfData(“AirlineDemoSmall.xdf”, fileSystem = localFS) 自ノードでの並列実行 – Linux/Windows SQL Server 上での実行 R スクリプトの 実行コンテキスト 「どこで処理を行 うか?」の設定 処理内容は 実行する場所が 変わっても同一 ### SETUP SQL Server ENVIRONMENT VARIABLES ### mySqlCC <- "Driver=SQL;SERVER=localhost;Database=RevoTester; Uid=RevoTester; pwd=######" ### SQL SERVER COMPUTE CONTEXT ### rxSetComputeContext(mySqlCC) ### CREATE SQL SERVER DATA SOURCE ### AirlineDemoQuery <- "SELECT * FROM AirlineDemoSmall;" AirlineDataSet <- RxSqlServerData(connectionString = mySqlCC, sqlQuery = AirlineDemoQuery)
  35. 35. 39 ### ANALYTICAL PROCESSING ### ### Statistical Summary of the data rxSummary(~ArrDelay+DayOfWeek, data= AirlineDataSet, reportProgress=1) ### CrossTab the data rxCrossTabs(ArrDelay ~ DayOfWeek, data= AirlineDataSet, means=T) ### Linear Model and plot hdfsXdfArrLateLinMod <- rxLinMod(ArrDelay ~ DayOfWeek + 0 , data = AirlineDataSet) plot(hdfsXdfArrLateLinMod$coefficients) ### SETUP LOCAL ENVIRONMENT VARIABLES ### myLocalCC <- “localpar” ### LOCAL COMPUTE CONTEXT ### rxSetComputeContext(myLocalCC) ### CREATE LINUX, DIRECTORY AND FILE OBJECTS ### localFS <- RxNativeFileSystem() AirlineDataSet <- RxXdfData(“AirlineDemoSmall.xdf”, fileSystem = localFS) 自ノードでの並列実行 – Linux/Windows Teradata 上での実行 R スクリプトの 実行コンテキスト 「どこで処理を行 うか?」の設定 処理内容は 実行する場所が 変わっても同一 ### SETUP TERADATA ENVIRONMENT VARIABLES ### myTdCC <- "Driver=Teradata; DBCNAME=TeradataProd; Database=RevoTester; Uid=RevoTester; pwd=######" ### TERADATA COMPUTE CONTEXT ### rxSetComputeContext(myTdCC) ### CREATE TERADATA DATA SOURCE ### AirlineDemoQuery <- "SELECT * FROM AirlineDemoSmall;" AirlineDataSet <- RxTeradata(connectionString = myTdCC, sqlQuery = AirlineDemoQuery)
  36. 36. 40  Gradient Boosted Decision Trees  Naïve Bayes  Data import – Delimited, Fixed, SAS, SPSS, OBDC  Variable creation & transformation  Recode variables  Factor variables  Missing value handling  Sort, Merge, Split  Aggregate by category (means, sums)  Min / Max, Mean, Median (approx.)  Quantiles (approx.)  Standard Deviation  Variance  Correlation  Covariance  Sum of Squares (cross product matrix for set variables)  Pairwise Cross tabs  Risk Ratio & Odds Ratio  Cross-Tabulation of Data (standard tables & long form)  Marginal Summaries of Cross Tabulations  Chi Square Test  Kendall Rank Correlation  Fisher’s Exact Test  Student’s t-Test  Subsample (observations & variables)  Random Sampling Data Preparation Statistical Tests Sampling Descriptive Statistics  Sum of Squares (cross product matrix for set variables)  Multiple Linear Regression  Generalized Linear Models (GLM) exponential family distributions: binomial, Gaussian, inverse Gaussian, Poisson, Tweedie. Standard link functions: cauchit, identity, log, logit, probit. User defined distributions & link functions.  Covariance & Correlation Matrices  Logistic Regression  Classification & Regression Trees  Predictions/scoring for models  Residuals for all models Predictive Models  K-Means  Decision Trees  Decision Forests Cluster Analysis Classification Simulation Variable Selection  Stepwise Regression  Simulation (e.g. Monte Carlo)  Parallel Random Number Generation Combination  rxDataStep  rxExec  PEMA-R API Custom Algorithms
  37. 37. 41 DeployR R Open R Server DevelopR
  38. 38. 42 ・ R スクリプトをアップロードすることで即時に REST API として 利用可能 ・ 基本機能は無償 + OSS* として使えます! *GNU AGPL v3.0 https://deployr.revolutionanalytics.com/download/
  39. 39. 43
  40. 40. 44
  41. 41. 46
  42. 42. 47  ブラウザ (ML Studio) だけで すぐに始められる • サーバー等の環境準備/設定不要  複雑なモデルを GUI 操作だけでも実装可能  作成したモデルをボタン 1つで Web サービス化  R / Python での実装も可能  各種ストレージ、データベースを入力、出力に • Azure Blob/Azure Table/Azure SQL Database/ HiveQL/Web URL via HTTP/OData  1時間あたり ¥102 (ML Studio)/ ¥204 (API) の従量課金 • 実行時間に対してのみ課金される • サブスクリプションなしで始められる Free Tier あり
  43. 43. 48
  44. 44. 49 ・ モデルの選択はヘルプドキュメントとチートシートを参照 ・ R 実装によって独自にモデルを追加可能
  45. 45. 50
  46. 46. 51
  47. 47. 52 Machine Learning API 実装済み機械学習モジュール RESTful API として利用 Experiment 例
  48. 48. 53
  49. 49. 54
  50. 50. 55
  51. 51. 56 Machine Learning API 実装済み機械学習モジュール REST API として利用 Experiment 例
  52. 52. 57
  53. 53. 58
  54. 54. 59 https://www.projectoxford.ai/demo https://www.projectoxford.ai/appgallery
  55. 55. 60
  56. 56. 62 マイクロソフトのデータ分析基盤と利用事例 双方向ダッシュボード – Power BI データ分析のため前処理と分析バッチ処理 - Azure Data Lake Analytics R スクリプトを並列実行 - Microsoft R Server 機械学習を具体的な API として利用 - Project Oxford / Azure Machine Learning まとめ 1. 2. 3. 4. 5. 6. 10 分 7 分 7 分 7 分 7 分 5 分
  57. 57. 63 https://github.com/Microsoft/CNTK/blob/master/Documentation/Tutorial/CNTK-Tutorial- NIPS2015.pdf
  58. 58. 64  本書に記載した情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、 ここに記載した情報に対していかなる責務を負うものではなく、提示された情報の信憑性については保証できません。  本書は情報提供のみを目的としています。 Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるものではありません。  すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書面による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、 機械的、複写、レコーディング、その他)、および目的であっても禁じられています。 これらは著作権保護された権利を制限するものではありません。  Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書面によるライセンス契約が明確に供給される場合を除いて、本書の提供はこれらの 特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。 © 2016 Microsoft Corporation. All rights reserved. Microsoft, Windows, その他本文中に登場した各製品名は、Microsoft Corporation の米国およびその他の国における登録商標または商標です。 その他、記載されている会社名および製品名は、一般に各社の商標です。

×