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.

アプリケーション開発者のためのAzure Databricks入門

1,054 views

Published on

Slides for Azure Webinar: Azure Databricks for Application Developers
(Webinar delivery date: June 7, 2018 )
Delivered by: Nobukatsu Tanahashi & Yoichi Kawasaki

[ウェビナー] アプリケーション開発者のためのAzure Databricks入門 (2018年6月7日実施)
棚橋 信勝, Data & AI テクノロジースペシャリスト, マイクロソフトコーポレーション
川崎 庸市. Azureテクノロジースペシャリスト, マイクロソフトコーポレーション

Published in: Technology
  • Be the first to comment

アプリケーション開発者のためのAzure Databricks入門

  1. 1. Slides for Azure Webinar: Azure Databricks for Application Developers
  2. 2. Azure Databricks で実現できること Azure Databricks とは何か Azure Databricks上での分散アプリ開発の基礎 Demo
  3. 3. Bigdata システムの課題 POS システム、EC サイト、IoT データ分析、CDR 分析、コールセンター データ、・・・ バッチ処理 ⇒ 限られた 時間で大量データを 処理したい リアルタイム分析 ⇒ デー タの生成から遅延時間を 最小限にして分析したい 蓄積された大量データを活用した アドバンストアナリティクスを実施した い
  4. 4. © Databricks 2018 SQL Query Data Frame Unresolved Logical Plan Logical Plan Optimized Logical Plan Selected Physical Plan RDDsPhysical Plans CostModel Catalog Analysis Logical Optimization Physical Planning Code Generation Catalyst 分散処理 オプティマイザー インメモリ処理
  5. 5. © Databricks 2018 https://databricks.com/blog/2015/02/17/introducing-dataframes-in-spark-for-large-scale-data-science.html
  6. 6. システムの要件をクリアする ソリューション 並列分散処理を可能にする オープンソース分析エンジン Apache Spark の PaaS ソリューション
  7. 7. バッチ分析 ⇒ 限られた時間で大量データを処理をしたい 構造化データ 分析アプリ ダッシュボード ログ、メディ ア r センサーデータ CDR、POSデータど データ加工集計非構造化データ 基幹業務 DWH システム オンライン データ
  8. 8. リアルタイム分析 ⇒ データの生成から遅延時間を最小限にした分析をしたい 加工・集計データ ライブストリーム データ ストリーム処 理センサーデータ CDR、POS データなど 分析アプ リ ダッシュボード データリポジトリ
  9. 9. 蓄積された大量データを活用したアドバンストアナリティクスを実施したい データコレクター ストリームデー タ センサーデータ CDR、POS など データリポジトリ 基幹業務 オンラインデー タ アドバンスト アナリティクス 分析アプリ ダッシュボード
  10. 10. Azure Databricks とは
  11. 11. ジョブ スケジュー ル グラフ種別 スクリプト 記述部分 実行結果 詳細表示
  12. 12. Standard Pool Serverless Pool 言語 Python, Scala, Java, R, SQL Python, R, SQL Runtime (Spark, Scala) 選択可能 最新安定バージョンを自動 選択 Spark 構成設定可否 Yes No
  13. 13. なぜ Azure Databricks なのか
  14. 14. • Azure Databricks は Azure の 1st パーティーサービス • Azure の各種サービスとの統合 • AAD 統合 Microsoft Azure
  15. 15. Azure の多様なビッグデータソリューション Azure Data Lake Analytics Azure Data Lake Store Azure Storage Any Hadoop technology, any distribution Workload optimized, managed clusters Data Engineering in a Job-as-a-service model Azure Marketplace HDP | CDH | MapR Azure Data Lake Analytics IaaS Clusters Managed Clusters Big Data as-a-Service Azure HDInsight Frictionless & Optimized Spark clusters Azure Databricks BIGDATA STORAGE BIGDATA ANALYTICS ReducedAdministration CONTROL EASE OF USE 1st パーティーサービス
  16. 16. Azure の他のサービスとの比較 HDInsight with Spark Azure Databricks Azure Data Lake Analytics マネージドサービス Yes Yes Yes オートスケール No Yes Yes スケール時停止不要 No Yes Yes 開発言語 Python, Scala, Java, R, SQL Python, Scala, Java, R, SQL C#/U-SQL スケールアウト 単位 クラスター クラスター ジョブ単位 数分以内の スケールア ウト No Yes Yes インメモリ 処理 Yes Yes No
  17. 17. Azure ストレージサービスへのダイレクトデータアクセス Azure ストレージサービスを Databricks に直接マウントして集約された データを処理 IoT デバイスやメディアなどの非構造化データ、オンプレミスの構造化データを Azure ストレージ サービスに集約 Blob Storage 基幹系アプリ (構造化データ) r センサーデータ (非構造化データ) ログ/ファイル/メ ディア (非構造化データ) Azure Databricks Data Lake Store Data Factory IoT Hub Stream Analytics
  18. 18. Azure PaaS サービスへのダイレクトアクセス Azure Databricks で加工された構造化データを Azure Data Warehouse へロード(Polybase データロードをサポート) Blob Storage Azure Databricks Data Lake Store SQL Data Warehouse Azure Machine Learning Azure Analysis Services
  19. 19. Data Factory Azure Databricks Blob Storage Cosmos DB SQL Database SQL Data Warehouse Data Lake Store Power BI Cosmos DB Connector JDBC connection DBFS mount DBFS mount Event Hubs Connector SQL DB Connector SQL DW Connector Event Hubs Kafka Streaming Data Factory Activity Kafka on HDInsight
  20. 20. クラスター ワークスペース ジョブ フォルダー ノートブック テーブル
  21. 21. MLlib SparkML GraphX • 分散ファイルシステム(HDFS),そ の他多様なデータソースが利用可 能 分散処理エンジンを含むコア部分 • Scala/Java/Python/R/SQLから利用可能 • ストリーミング、機械学習、グラフ などの複雑な処理を簡単に実現する ための 標準ライブラリ • DatabricksやYARN/Mesosなどクラス タマネージャと連係可能 • もちろん単独でも グラフ分析機械学習リアルタイム分析構造化データ 表形式データ
  22. 22. • RDD = Resilient Distributed Datasets (耐障害性 があり分散処理可能なデータセット) • この抽象化オブジェクトを基本としたデータ操 作(RDDクラスが持つmap & reduceメソッドを 利用して並列処理を行う) • 非構造化データに対して柔軟な処理が可能 • RDBMSのテーブルのように行、名前、データ 型が与えられスキーマを利用した構造化データ 処理を得意とする • SQL形式で処理を行うことが可能でオプティマ イザによる最適化が行われ最終的にRDDの物理 プランが生成される • RDDと比べて可読性が高く、またRDDと違い 言語ごとのパフォーマンス差が少ない name (string) Age (integer) Address (string) name1 age1 address1 name2 age2 address2 name3 age3 address3
  23. 23. https://ja.wikipedia.org/wiki/Apache_Spark
  24. 24. http://technicaltidbit.blogspot.com/2015/10/spark-16-datasets-best-of-rdds-and.html
  25. 25. https://spark.apache.org/docs/latest/index.html • RDDを基本とした分散処理から DataFramesを中心とした高レベルに抽象 化された処理にシフト • Spark Streaming -> Structured Streaming • spark.mllib -> spark.ml • Graph X -> Graph Frames
  26. 26. • https://docs.azuredatabricks.net/spark/lates t/data-sources/index.html • https://docs.microsoft.com/en- us/azure/azure-databricks/databricks- connect-to-data-sources
  27. 27. Azure Cosmos DB Azure Databricks (Spark) Azure Blob Storage Notebook: elt-blob-storage-cosmosdb-python https://github.com/yokawasa/databricks-notebooks/blob/master/notebooks/elt-blob-storage-cosmosdb- python.ipynb
  28. 28. New data Cosmos DB Azure Databricks (Spark) Change Feed Processed data https://github.com/Azure/azure-cosmosdb-spark/blob/master/samples/lambda/readme.md Notebook: Twitter with Spark and Azure Cosmos DB Change Feed.ipynb
  29. 29. ⇒ 大量データシステムのかかえる課題・問題を解決 ⇒ Azure の 1st パーティーサービス ⇒ Azure の Spark 開発・運用・管理基盤 ⇒ 各種コネクターを利用した Azure サービスとの容易な統合 ⇒ Sparkアプリ開発に必要な基礎知識 ⇒ DataFrame ベースのハイパフォーマンスなアプリ開発

×