Azure DatabricksにAzure Machine Learning service…強力なツールが次々と登場
分析設計で分析方針を定めたら、次はデータ加工とモデル作成へと進む。ここは「全行程において最も時間を要するフェーズ」と大内山氏は言う。試行錯誤を繰り返しながら精度を高めていくためだろう。ここで使われるのが「Azure Databricks」。これはAzureのPaaSとして提供されるSparkサービスとなる。
DatabricksはApache Sparkの開発チームが2013年に設立した企業であり、今ではApache Sparkの最大のコントリビューターでもある。Sparkをよく知るエンジニア集団がデータ分析をより高速かつ便利に行えるように、ごりごりに磨き上げたSparkと考えていいだろう。それがAzureのPaaSサービスとして提供されている。
Azure Databricksは通常のSparkに比べると、性能面、管理面、コラボレーション面でメリットがある。性能面でいえば、Sparkエンジンが最適化されており、DatabricksによってOSS Sparkの5倍高速というベンチマーク結果が公開されている。管理性だとクラスタのオートスケール(自動的に拡張)やオートターミネーション(自動的に終了して課金が生じないようにする)など、サーバーレスで管理が容易という点が挙げられる。
加えてPythonやRなどに対応したDatabricks Notebookを搭載しており、複数で共同作業ができるなどコラボレーション機能が充実している。これまで分断されがちだったデータエンジニアリングとデータサイエンス(モデル作成)という2つの作業をワンストップで一気通貫に実現できる。Azure Databricksを活用することでデータ処理時間を150時間から5時間に短縮し、コストを月額で240万円から30万円に削減できた事例もあるという。
データ加工とモデル作成が終了したら「これで終わり」ではない。作成したモデルは使ってこそ意味がある。つまり、モデルを管理し、実際の環境へと展開して運用する必要がある。Azureではこうした機械学習モデルのライフサイクルをサポートするフレームワークとして「Azure Machine Learning service」が提供されている。データの準備、モデル構築、モデル展開から監視までできるようになっている。特にモデル展開は売りの機能の一つであり、モデルをDockerイメージとしてパッケージングしてAzure上のコンテナ環境およびEdge上に容易に展開できるようになっている。本ケースにおいてはAzure Databricksがデータ準備とモデル作成までを担当し、Azure Machine Learning serviceはそれ以降を担当する、というようにサービス連携と役割分担も可能だ。
分析データの再利用を顧客から希望されることがある。分析プロセスの過程で作成された中間データを別の部署や関係者がそれぞれの目的で利用したいというケースがあるためだ。その目的やクライアントツールにも依存するが、汎用的な分析を目的とするのであれば「RDBに格納しておくのが好ましい」と大内山氏は言う。その際にはクラウド型の並列分散データウェアハウスである「Azure SQL Data Warehouse」が適している。特に最近ではより高速化された「Gen2」が登場しており、データ分析をしているなら着目しておいたほうがいいだろう。
大内山氏の話から分かるように、Microsoft Azureには企業がデータ分析およびデータ活用を行うためのサービスが次々と登場している。データの収集、加工、モデル作成、展開、監視まで、フルサイクルを一気通貫でカバーできており、Microsoft Azureだけで完結できるほど充実している。企業のデータ活用に力強い味方となりそうだ。
Azure関連の最新情報はこちら↓↓↓
Microsoft Azure関連の【セミナー情報】はこちらから一覧でチェックできます!