Databricks事例紹介 ~メディア編~

はじめに

今回はDatabricksのメディア業界での事例をご紹介させていただきます。
【掲載事例】
1.Showtime
公式事例URL : https://databricks.com/customers/showtime
2.Comcast
公式事例URL : https://databricks.com/customers/comcast
3.CondéNast
公式事例URL : https://databricks.com/customers/conde_nast

Showtime

image.png

ユースケース

今日の消費者はコンテンツプロバイダーに期待していることが多く、期待に応えられない場合はすぐに対応する必要があります。
エンゲージメントとロイヤリティを確保するために、Showtimeはデータを活用してコンテンツ戦略を推進したいと考えていましたが、レガシーシステムのスケーリングの制限と非効率的なデータパイプラインに苦労していました。
Databricksの統合データ分析プラットフォームを使用したことにより、解約を減らしながらエンゲージメントを向上させることを目的としました。
その結果カスタマージャーニーの実用的なビジョンを得ることができました。

課題
  • レガシーシステムによる新機能の市場投入までの時間の遅延
  • インフラストラクチャが複雑なので、柔軟性を可能にしながら、継続的なメンテナンスを必要としないインフラストラクチャが不可欠
  • 機械学習モデルを開発、トレーニング、デプロイするプロセスは非常に手作業でエラーが発生しやすく、新しいモデルの市場投入までの時間が長い
成果
  • データエンジニアリングチームを大幅に簡素化し、データサイエンスチームの生産性を向上
  • 豊富なデータプール内の洞察を利用して、視聴者のエンゲージメントを促進し、解約を減らす機会の発見
  • チームおよび複数のプログラミング言語間でコラボレーションを簡単かつシームレスにして、データサイエンスの生産性を向上
  • MLflowによって、MLライフサイクル全体を合理化
  • DatabricksはShowtimeが組織全体でデータと機械学習を民主化するのに役立ち、よりデータ主導の文化を生み出した
  • 24時間以上かかっていたデータパイプラインが4時間未満で実行されるようになり(6倍の高速化)、チームがより迅速に意思決定を行えるように
  • 自動クラスター管理を備えたクラウド内のフルマネージドプラットフォームにより、データサイエンスチームはハードウェア構成、クラスター のプロビジョニング、デバッグなどではなく、機械学習に注力
  • データサイエンスのコラボレーションと生産性の向上により、新しいモデルと機能の市場投入までの時間が短縮されました。チームはより速く実験でき、加入者にとってより良い、よりパーソナライズされたエクスペリエンスに

Comcast

image.png

ユースケース

Comcastは数百万の顧客にパーソナライズされた体験を提供するグローバルなテクノロジーおよびメディア企業です。
Comcastは大量のデータ、壊れやすいデータパイプライン、不十分なデータサイエンスコラボレーションに苦労していました。
Delta LakeやMLflowなどのDatabricksを使用して、ペタバイト規模のデータ用の高性能データパイプラインを構築し、数百のモデルのライフサイクルを簡単に管理できるようになりました。
その結果、音声認識と機械学習を使用した、非常に革新的でユニークな視聴者体験を提供します。

課題
  • 数十億の個別のやり取りを実用的な洞察に変えな​​がら、特定のプログラムに対する顧客の声の要求に即座に答える必要があり、ITインフラストラクチャとデータ分析およびデータサイエンスチームに大きな負担があった。
  • 作成したモデルを、クラウド、オンプレミス、場合によっては直接デバイスに直接接続するなど、ばらばらで異なる環境に展開する必要があった。
  • エンターテインメントシステムによって生成された数十億のイベントと2000万以上の音声リモコンにより、分析する必要があるペタバイトのデータが発生している。
  • さまざまなスクリプト言語で作業する世界的に分散したデータサイエンティストは、コードの共有と再利用に苦労していた。
  • 数百のMLモデルの開発、トレーニング、デプロイは非常に手動で行われ、時間がかかり、複製が困難であったため、スケーリングが困難
  • 開発チームは最新のツールとモデルを使用することを望み、運用チームは実証済みのインフラストラクチャに展開することを望んでいた。
成果
  • Databricks統合データ分析プラットフォームにより、Comcastは豊富なデータセットを構築し、大規模な機械学習を最適化し、チーム全体でワークフローを合理化し、コラボレーションを促進し、インフラストラクチャの複雑さを軽減し、優れた顧客体験の提供を実現
  • 自動クラスター管理と、自動スケーリングやスポットインスタンスなどのコスト管理機能により、運用コストを削減
  • Delta Lakeは、取り込み、データエンリッチメント、ビデオおよび音声アプリケーションとデバイスからの生テレメトリの初期処理に使用
  • Delta Lakeにより、ファイルを最適化し、大規模で迅速かつ信頼性の高い取り込みを実現
  • インタラクティブなノートブックにより、チーム間のコラボレーションとデータサイエンスの創造性が向上し、モデルのプロトタイピングを大幅に高速化して反復も高速化
  • マネージドMLflowは、Kubeflow環境を介して機械学習ライフサイクルとモデルの提供を簡素化し、数百のモデルを簡単に追跡および管理可能に
  • Delta Lakeは、効率的な分析パイプラインを大規模に提供し、履歴データとストリーミングデータを確実に結合して、より深い洞察を得ることが可能

CondéNast

image.png

ユースケース

Vogue, the New Yorker, Wiredなどの象徴的な雑誌の出版社であるCondéNastは、データを使用して、印刷物、オンライン、ビデオ、ソーシャルメディアで10億人以上の人々にリーチしています。

膨大な量のデータを活用するため、インフラストラクチャの管理とデータサイエンスの生産性の向上に苦労していました。
Databricksを使用すると、クラスターの自動化により不要なDevOps作業が排除され、Delta Lakeにより、月に1兆データポイントまで拡張できるデータパイプラインを構築できるようになり、MLライフサイクル全体を管理するMLflowとのコラボレーション環境でデータサイエンスのイノベーションが実現しました。
これにより、ブランド全体でパーソナライズされたコンテンツを配信し、顧客を引き付けて維持することができます。

課題
  • Sparkクラスターの構築と管理には、多くの設定と継続的なメンテナンスが必要で、より価値の高い活動からチームを遠ざけた
  • チームがデータパイプラインを構築し、コラボレーションを促進するために分析を進めるための共通のプラットフォームを見つける必要があった
  • データが多すぎてデータセットが既存のデータレイクソリューションを上回っていた
成果
  • 運用を簡素化し、優れたパフォーマンスを提供し、データサイエンスの革新を可能にするフルマネージドクラウドプラットフォームを提供
  • データサイエンティストは、データと洞察を共同作業、共有、追跡し、共同作業の環境を促進可能に
  • データセットの量が増えると(月に1兆データポイントを超える)、Delta Lakeはこれに対応し、データの書き換えやデータのマージなど、より多くのユースケースに対応可能
  • MLflowを使用することにより実験の追跡から生産モデルの監視まで、機械学習ライフサイクル全体を簡単に管理可能に

おわりに

Databricks のメディアに関する事例の紹介は以上となります。
今回ご紹介した事例以外にも多くの参考になる事例が公開されておりますのでぜひ下記のリンク先をご参照ください。

参考リンク

https://databricks.com/jp/customers


Databricks事例紹介 ~コンシューマー編~

はじめに
本記事では、Databricksのコンシューマいわゆる消費者にまつわる事例をご紹介します。

1,Electrolux社
公式事例URL:https://databricks.com/customers/electrolux

2,Grab社
公式事例URL:https://databricks.com/customers/grab

■Grab社

image.png

■ユースケース
豊富な顧客セグメントとより深いプロファイルを構築
より効率的かつ効果的に、顧客により良いサービスを提供

■課題
・様々なデータチームがそれぞれの目的を基に業務を行なっていたため
一貫性をもって顧客を理解できていなかった
・部門間での各データにある属性間の関係を見落としていた
・それぞれのチームでそれぞれのシステムを構築していたため複数のデータパイプラインができ、それぞれを維持および更新管理をする必要があった
・エンジニアの工数が増大し、コストも大幅に増加した
・データの民主化を行ない各チームでその可能性を統合して深い洞察を得る必要があった

上記課題から必要としていたニーズ
・データ量に関係なく拡張や部門間などでのコラボレーションを可能にする統合データ分析プラットフォームが必要だった。
・顧客にパーソナライズされた体験を提供するために顧客セグメントの集中化された一貫したビューを提供するソリューションが必要だった。

■成果
・Databricksを搭載したGrabの社内セルフサービス顧客データソリューション(Customer 360)は、様々な角度から集約された顧客属性の真の単一ソースを実現した。
この民主化された顧客データにどこからでも安全にアクセスして、顧客の習慣やニーズについてよりよく学習し、強化されたアプリ内エクスペリエンスを作成できるようになった。
・Databricksを活用したCustomer 360により、Grabは顧客データを活用し、地理空間的またはトランザクションの観点を超えて、さまざまな製品セグメントおよび機能にわたってお客様の一貫した理解を構築できるようになった
・Delta Lakeを通じて、Grabは、データの整合性とセキュリティをさらに強化する方法で、Webサイトやアプリケーションからユーザーが生成した数千の信号とデータソースを取り込み、最適化。
・数週間かかっていた面倒な作業が今では数時間に短縮
・データをシームレスに統合するDatabricksの機能により、豊富な顧客セグメントとより深いプロファイルを実現
・完全にセルフサービスの内部ポータルを通じて、さまざまなチームが簡単にコラボレーションして、顧客データ、洞察、属性、およびライフタイムバリューを調査可能になった
・より効率的かつ効果的に、より適切な推奨を行ったり、顧客の好みに合わせた新機能を設計したりして、アプリ内エクスペリエンスを改善し、顧客により良いサービスを提供できるようになった。

■Electrolux社

image.png

■ユースケース
売上予測を改善し、サプライチェーンを合理化し、製品をタイムリーに提供することで収益を予測し、顧客満足度を向上

■課題
・400以上の倉庫と流通センターより年間6000万以上位の製品を製造、出荷しているため、非常に複雑なサプライチェーン(仕入れから出荷までの一連の流れのこと)となっている
・このサプライチェーンにより、競争圧力や揮発性物質のコストの発生
・サプライチェーンの複雑さと管理するモデルの数が多かったため、データ資産を管理するだけでなく、さまざまなモデルすべてをバージョン管理するためのより良い方法が必要
・分析方法は、従来Excelに複数のデータソースから履歴情報(価格、オンライン評価、レビューなど)を入力。このプロセスで非常に大きなリソースを消費するだけでなく、マーケティングキャンペーンの影響を明確に示さない不正確な予測をもたらした

■成果
・Databricksを使用すると、Electroluxは大量の消費者データと製品データを簡単に取り込み、機械学習を大規模に活用して、マーケティングROIと売上予測の改善を通じてバリューチェーンを最適化する方法をより深く理解できた
・Delta Lakeを使用すると、Electoluxのデータチームは数百万のデータポイントを簡単に取り込み、データ品質の問題を心配することなく、大規模な堅牢な本番データパイプラインを構築できた。
・MLflowは、Electroluxの完全な機械学習ライフサイクルを合理化します。「Databricksを使用すると、さまざまなバージョンの実験とシミュレーションを追跡し、組織全体でモデルをパッケージ化して共有及び展開が可能。その結果、予測モデルをはるかに速いペースで反復して、より正確な予測を行うことができる。
・データチームにとって、技術者ではないチームメンバーが活用できる方法で実用的な洞察を提供することも重要である。全体として、同じプラットフォームでのデータサイエンス、エンジニアリング、およびアナリストチームの統合により、チーム間のコラボレーションが促進され、ビジネス全体の販売と運用を改善する新しいデータ主導の機会が生まれた。
・エレクトロラックスの販売予測エンジンの中核にDatabrikcsを導入したことにより、絶え間なく改善されてスマートになっている何千ものモデルにデータを供給するため、グローバルサプライチェーンの複雑さは今や貴重な資産であり、競争上の差別化要因と見なされている。
同社は現在、消費者と市場が将来どのように振る舞うかをより正確に予測することが可能。これらの新たな洞察により、サプライチェーンのすべての重要な側面が改善。特に、販売およびマーケティングキャンペーンが販売予測に与える影響大。
・Databricksを使用すると、セールスプロモーションがより的確に行われるだけでなく、適切な製品を適切なコンシューマーに適切なタイミングで提供可能となる


Azureデータ分析入門 #6 【CSVデータ → Power BI サービス】

はじめに

BI ツールはストレージやデータベース、DWH への接続が一般的ですが、まずは手元の CSV データで試してみたい、という方向けの記事です。

本連載のツール比較では、eコマースストアの売上データを用いて、

  • 単価と配送料の合計に占める配送料の割合が低い
  • 単価が高い
  • 売上ボリュームが大きい

の条件を満たす製品カテゴリを選ぶための集計と可視化を行いました。

同じ課題設定のもと、ローカルPC上に保存されている CSV データ をPower BI サービス にインポートし、以下のダッシュボードを作成するまでの流れをご紹介します。
image.png

ダッシュボードはこちら で公開してます。

連載目次

Azureデータ分析入門 #1 【はじめに】
Azureデータ分析入門 #2 【ツール比較 Excel編】
Azureデータ分析入門 #3 【ツール比較 Azure Notebook編】
Azureデータ分析入門 #4 【ツール比較 Databricks編】
Azureデータ分析入門 #5 【Databricks → Power BI Desktop】
Azureデータ分析入門 #6 【CSVデータ → Power BI サービス】 → 今回の記事
Azureデータ分析入門 #7 【AutoML でタイタニック号の生存者予測】

作業環境

今回はブラウザ上で作業が完結可能な Power BI サービス でダッシュボードを作成します。Power BI の概要、および Power BI Desktop と Power BI サービスの違いについては 前回の記事をご参照ください。

データのダウンロード/インポート

ツール比較で使用した3つのデータを結合加工したCSVデータを使用します。11万行程度のデータですので、散布図の描画はかなり重い処理になるはずですが、そのあたりはうまいことやってくれるオプションがありますので、今回はそのままデータを使用します。

こちらから zip ファイルをダウンロード、解凍しておきます。

Power BI サービス にサインアップします。
image.png

データの取得タブで、ファイルの取得をクリック
2019-12-09_18h35_50.png

ローカルファイルを選択し、ダウンロードしたファイルの中から、table for Power BI.csvを選択、インポートします。
image.png

データセットの...をクリック
image.png

完了するとこちらの画面に遷移します。
image.png

各要素の作成

このダッシュボードは、以下5つの要素で構成されています。それぞれの作成手順を紹介します。
image.png

カード

指定した列の合計や平均を出すことができます。目立たせたい数値を乗じさせるのにぴったりです。単価の合計、運賃の合計の2カテゴリそれぞれ作成。
card.gif

スライサー

指定列で条件の絞り込みができます。カテゴリごとの売上高ランキング、参照データ全体のカテゴリ別送料比率、販売月の3カテゴリで作成。
slicer.gif

テーブル

統計値の一覧表などを出しておくのに有用です。
table.gif

ツリー図

カテゴリごとの売り上げ比率を可視化します。価格合計も表示しておきます。
tree.gif

散布図

X軸に運賃、Y軸に単価に設定し、ここの売り上げデータが、カテゴリごとに色分けして表示される散布図を作成します。
scatter.gif

今回作成した要素の中では、散布図が一番いじるポイントが多かったので補足解説します。
ペイントロールアイコンから、書式の変更やグラフの描画範囲を設定が可能です。
2019-09-30_11h35_43.png

ローデータのサンプル数が約11万で、一画面中の表示数としては多すぎます。このような場合は高密度サンプリングオプションをオンにすることで、描画時間の長さによる UX の低下を防ぐことができます。今回は表示されるサンプル数を 3500 個としています。
2019-09-30_11h35_21.png

要素が集中している箇所が表示されるように、X軸の表示範囲を以下のように設定してみました。
2019-09-30_11h36_27.png

Y軸も同様。
2019-09-30_11h37_00.png

データの傾向が見やすくなるように、図形のサイズを変更します。
2019-09-30_11h37_30.png

回帰直線を簡単に引くことができます。
2019-09-30_11h38_26.png

動かしてみる

要素の位置やデータラベルを調整してできた完成形がこちら。ほとんどマウスだけの処理でこのようなダッシュボードができます。すごい…
image.png

以下の条件でスライサを絞り込みます

  • 売上高がトップ10以内
  • 送料の占める割合が12%以下
  • 9月~12月の売上

dashboard.gif

カテゴリごとの特徴もマウスオーバーの操作で簡単に確認できます。
dashboard2.gif

まとめ

時系列データの可視化には Power BI Desktop が必要になってきますが、事前に集計ラベルが付与されているデータであれば、基本的にはエクセルのピボットグラフに似た操作感でグラフ化できます (レイアウトにこだわると時間が簡単に溶けてくので注意しましょう)

次回はデータ分析入門の最終回として、Azure AutoML を使って、タイタニック号の生存者予測をしてみます。お楽しみに!

参考サイト

Power BI Desktop とは何ですか?


Databricks でワインの品質を予測するモデルを構築 2

はじめに

前回の記事の続編、Azure Databricks で機械学習モデルを構築する例を試していきます。

データの前処理

モデルをトレーニングする前に、欠損値をチェックし、データをトレーニングセットと検証セットに分割します。

[crayon-5f917435cf103505433249/]

2020-09-01_16h59_32.png

欠損値はありません。

[crayon-5f917435cf115948181572/]

ML flow を使う準備

Workspace → ユーザー名 → プルダウンで Createと進み、MLflow Experiment をクリックします。
image.png
任意で名前をつけます。
image.png
この画面に遷移します。Experiment ID は Notebook の中で使うのでメモしておきます。
image.png

mlflow をインストールするために、以下のコマンドを実行します。

[crayon-5f917435cf124220840810/]

ベースラインモデルの構築

出力はバイナリであり、複数の変数間に相互作用がある可能性があるため、このタスクはランダムフォレスト分類器に適しているようです。

次のコードは、scikit-learnを使用して単純な分類子を作成します。
MLflowを使用してモデルの精度を追跡し、後で使用するためにモデルを保存します。

[crayon-5f917435cf131867826348/]

モデルによって出力された、学習された機能の重要性を調べます。

[crayon-5f917435cf141707766110/]

image.png

前に示した箱ひげ図に示されているように、品質を予測するにはアルコールと密度の両方が重要です。

ROC曲線下の面積(AUC)をMLflowに記録しました。
右上の「実験」をクリックして、実験実行サイドバーを表示します。

モデルは0.89のAUCを達成しました。

ランダム分類子のAUCは0.5であり、AUC値が高いほど優れています。

MLflowモデルレジストリへのモデルの登録

このモデルをモデルレジストリに登録すると、Databricks内のどこからでも簡単にモデルを参照できます。

次のセクションでは、これをプログラムで行う方法を示しますが、「モデルレジストリにモデルを登録する」 の手順に従って、UIを使用してモデルを登録することもできます。

[crayon-5f917435cf14e817954755/]
[crayon-5f917435cf159351353438/]

[モデル]ページにワイン品質のモデルが表示されます。
「モデル」ページを表示するには、左側のサイドバーの「モデル」アイコンをクリックします。

次に、このモデルを本番環境に移行し、モデルレジストリからこのノートブックにロードします。

[crayon-5f917435cf164007560331/]

「モデル」ページに、ステージ「生産」のモデルバージョンが表示されます。

パス「models:/ wine-quality / production」を使用してモデルを参照できるようになりました。

[crayon-5f917435cf16f694668467/]

新しいモデルを試す

ランダムフォレストモデルは、ハイパーパラメーター調整なしでもうまく機能しました。

次のコードは、xgboost ライブラリを使用して、より正確なモデルをトレーニングします。
Hyperopt と SparkTrials を使用して、並列ハイパーパラメータースイープを実行し、複数のモデルを並列にトレーニングします。
以前と同様に、コードはMLflowを使用して各パラメーター構成のパフォーマンスを追跡します。

[crayon-5f917435cf17b805372503/]

次回は結果を表示していきます。3へ続きます。

公式リンク

Databricks


Databricks でワインの品質を予測するモデルを構築 1

はじめに

今回は初、Databricksに触れていきます。
機械学習の構築で難しいところは、データソースに欠損値が含まれていたり、メモリに収まらない可能性があることです。
さらに、アルゴリズムの知識だけでなく、マシンアーキテクチャと分散システムの知識も必要とされます。

Databricksを使う良さ

image.png

Databricks はそんな気難しい機械学習プロセスを、簡略化します。
表形式のデータで、機械学習モデルをトレーニングするエンドツーエンドの例をチュートリアルでやっていきます。

手順について

このチュートリアルでは、次の手順について説明します。

  • ローカルマシンから、Databricksファイルシステム(DBFS)にデータをインポートする
  • Seabornとmatplotlibを使用して、データを視覚化する
  • 並列ハイパーパラメータースイープを実行して、データセットで機械学習モデルをトレーニングする
  • MLflowを使用して、ハイパーパラメータースイープの結果を調べる
  • MLflowで最もパフォーマンスの高いモデルを登録する
  • Spark UDFを使用して、登録済みモデルを別のデータセットに適用する

この例では、ワインの物理化学的特性に基づいて、ポルトガルの 『Vinho Verde』ワインの品質を予測するモデルを作成します。

物理化学的特性からの、データマイニングによるワインの好みのモデリング [Cortez et al。2009] に示されている
『UCI Machine Learning Repository』のデータセットを使用しています。

クラスターの起動

Databricksランタイム6.5 ML以上を実行しているPython 3クラスターを起動します。
image.png
image.png

ファイルのアップ

このセクションでは、Webからデータセットをダウンロードして、Databricksファイルシステム(DBFS)にアップロードします。

https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/
この両方をダウンロードします。
[winequality-red.csv][winequality-white.csv]

このDatabricksノートブックから、[ ファイル] >>[ データのアップロード]を選択し、このファイルをドラッグアンドドロップターゲットにドラッグして、DBFSにアップロードします。
2020-08-27_11h27_25.png
2020-08-27_13h30_31.png

[ファイル] >>[ データのアップロード ]オプションがない場合は、Databricksサンプルデータセットからデータセットをロードできます。
コードの最後の2行をコメント解除して実行します。

データをロードするための自動生成コードが表示されます。
image.png

データをマージする

pandasをインポートし、サンプルコードをコピーします。
新しいセルにコードを貼り付けます。

[ファイル]>>[データのアップロード]メニューオプションがある場合は、前のセルの指示に従って、ローカルマシンからデータをアップロードします。

pandas を pd としてインポートします。
次の行で、『username』をユーザー名に置き換えます。

[crayon-5f917435cfe86062105689/]

ワインが赤か白かを示す新しいバイナリ機能「is_red」を使用して、2つのデータフレームを1つのデータセットにまとめます。

[crayon-5f917435cfe97344928118/]

image.png

データを可視化する

モデルをトレーニングする前に、Seaborn と Matplotlib を使用してデータセットを探索します。
従属変数(関数 y =f (x )において、独立変数 x の変化に応じて変わる y をいう語。)である、品質のヒストグラムをプロットします。

[crayon-5f917435cfea4646771549/]

image.png

品質スコアは通常3から9の間に分布しているようです。
品質が7以上のワインを高品質と定義します。

[crayon-5f917435cfeb0643423417/]

ボックスプロットは、特徴とバイナリラベルの間の相関関係を知るのに役立ちます。
matplotlibをインポートします。
pyplot として PLT と記します。

[crayon-5f917435cfebb494035654/]

image.png

上記の箱ひげ図では、いくつかの変数が品質の一変量予測子として際立っています。

アルコールボックスプロット

  • 高品質ワインのアルコール度数の中央値は、低品質ワインの75分位よりも高くなっています。 高アルコール含有量は品質と相関しています。

密度ボックスプロット

  • 低品質のワインは高品質のワインよりも密度が高くなっています。 密度は品質と反比例します。

では2に続きます。

公式サイト

databricks


Azure Databricks クラスター実行履歴確認・費用概算

はじめに

Azure Databricks 利用に際しあらかじめ運用コストを把握しておきたいところですが、ワークロードの性質や規模によって計算負荷が大きく変わってくるため、見積もりそのものが困難です。

本稿では Azure Databricks Workspace 上でクラスタの実行履歴を確認、その利用料金を概算する手順を示します。※以下の記事で利用したクラスタの履歴/概算

金融取引データから異常検知
1. 導入/環境設定
2. Collaborative Notebook でデータ可視化
3. Anomaly Detector をデータ探索ツールとして使ってみる
4. 1つ目のモデル構築 (データの偏り 未考慮)
5. 2つ目のモデル構築 (データの偏り 考慮)

クラスタ実行履歴確認

Cluster から Notebook に紐づけたクラスターを選択。
2020-09-04_13h21_39.png

赤枠で囲っている履歴の料金を算出してみます。おおよそ 5 時間、Auto Scaling が働かない状態でクラスタが起動していたようです。
2020-09-04_13h35_30.png

この時はクラスタ起動の直前に設定項目を変えています。EDITED をクリックすると、変更前後の設定を確認できます。以下は一部抜粋。Notebook の編集や可視化メインでモデリング処理はやらないつもりだったのでしょう。クラスタのスペックを下げ、Auto Scaling を長めに設定しています。

EventType_EDITED
[crayon-5f917435d03ec638172041/]

つまり、

  • Standard_DS3_v2 インスタンスが、
  • driver と worker で 1 台づつ、
  • 5 時間稼働した

ことになります。

料金算出

公式サイトから単価を拾い、Azure Databricks の利用料金を算出します。仮想マシン (VM) と、選択した VM インスタンスに基づく Databricks の単位 (DBU) に対して課金されるので、従量課金制の合計額の項目を参照。

77.448 (インスタンス単価) x 2 (起動台数) x 5 (実行時間) ≒ 800 円弱
2020-09-04_14h40_11.png

備考:メトリクス確認方法

ビッグデータ解析や各種バッチ処理を行う場合には、何回か実験を繰り返して費用対効果の高い構成にする必要があるはずです。Metrics から任意の Name を選択すると、
2020-09-04_14h16_21.png

メトリクスのスナップショットを取得できます。Azure Monitor や Datadog との連携も可能。
image.png

おわりに

従量課金型なので実際に試してみて利用料金を見てみるのが手っ取り早いです。

参考サイト

Azure Databricks の価格
databricks configure metrics collection


Databrciks 事例紹介 ~教育編~

はじめに

本記事では Databrciks の教育業界での事例をご紹介いたします。
【掲載事例】
McGraw-Hill Education
公式事例URL: https://databricks.com/customers/mcgraw-hill-education
ウエスタンガバナーズ大学
公式事例URL: https://databricks.com/customers/western-governors-university

McGraw-Hill Education

image.png

ユースケース

  • 企業とユーザーとの関係性の強さと定着率を向上させる
  • 個別学習
  • 機械学習の活用
  • 取り込みや ETL 処理

課題

  • 効果的なデータ分析が必要
  • 市場投入までの時間の短縮
  • 学習者への取り組みと適応

成果

  • 1000 万以上の個々の学生のやり取りが正常にキャプチャ、集約、分析され学生の定着率を 19% 以上向上できました。
  • 機械学習を使用して、生徒の理解度のレベルを分析し、推奨事項を提供して生徒の合格率を 13% 向上できました。
  • 550 万人をこえる学生にソリューションをより迅速かつ効果的に提供できました。
  • 運用コストが 30% 削減されました。

ウエスタンガバナーズ大学

image.png

ユースケース

  • 学生のプロファイル、マーケティングデータ、評価データなどの様々なデータに基づく内部意思決定
  • データ処理時間の短縮
  • 機械学習の活用

課題

  • データ量が増加していくことでデータ処理を集中的に短期間で行いたい。
  • 様々なデータをエンドユーザーが簡単に保存・整理・アクセスできる仕組みの構築。
  • データサイエンティストが行うべき仕事ではない作業に時間がかかっていた。

成果

  • クラスター管理が自動化されクラスターのプロビジョニングが簡素化されました。それにより、データサイエンティストが本来の仕事に多くの時間をかけることが可能になりました。
  • Databricks のワークスペースにより、データサイエンティストの開発環境が向上しました。
  • 複数のプログラミング言語がサポートされたことで、様々なスキルを持つチームがデータにアクセスして分析が可能になりました。
  • ETL 処理が向上し、夜間の ETL でのジョブの実行にかかる時間を 3 時間から 10 分未満に短縮されました。
  • クエリの応答時間を 30 分以上から数秒に短縮できました。

おわりに

Databricks は教育業界での様々なデータに対応できる親和性の高いサービスになっています。

参考

【お客様の成功事例】
公式 URL: https://databricks.com/jp/customers


Databricks事例紹介 ~医療編~

はじめに

今回はDatabricksの医療業界での事例をご紹介させていただきます。
【掲載事例】
1.REGENERON
公式事例URL : https://databricks.com/customers/regeneron
2.SANFORD
公式事例URL : https://databricks.com/customers/sanford-health
3.OPTUM
公式事例URL : https://databricks.com/customers/optum

REGENERON

2020-09-03_09h26_57.png

ユースケース

大容量のゲノムデータを分析し、新薬の開発を効率化しました。

課題

REGENERONでは新薬開発のために、
40万人分以上の遺伝子データを記録したデータベースを構築しました。
しかし、それらのデータを戦略的に活用するには以下の課題がありました。

  • ゲノムデータと臨床データが複雑に分散している
  • 10TBのデータセットのETL処理だけで何日もかかる
  • データ量が多いため、モデルの分析およびトレーニングは困難を極めた

成果

  • データセット全体に対してのクエリ実行時間が30分から3秒に短縮(600倍の高速化)
  • 共同作業環境を構築できたことで、エンジニアチームとしての生産性が向上
  • 分析環境の管理を自動化
  • ETL処理全体が3週間から2日に短縮

SANFORD

2020-09-03_09h27_31.png

ユースケース

大規模な患者データセットから
(10万人分以上の遺伝子データ、医療画像、健康記録など)
慢性疾患の原因となる遺伝子疾患を特定し、
患者ごとに最適化された治療を提供する基盤を構築しました。

課題

分析環境を構築するにあたり、以下のような問題がございました。

  • エンジニアリングやインフラ知識の不足
  • 上記が原因で、分析基盤のセットアップや拡張が困難
  • 機械学習を大規模に実行するために、数か月または数年も準備する必要があった

成果

  • データから知見を得るのに数日から数時間に短縮
  • データエンジニアリングと運用を簡素化
  • データをモデルに組み込むことが簡単になり、予防ケアと精密医療の提供を推進

OPTUM

2020-09-03_09h26_31.png

ユースケース

病院から保険会社への医療保険請求から
過小支払いを検出をするのに利用しました。

課題

  • 1日あたり数百万件の請求から、8時間以内に病院に結果を返す必要があった
  • データ規模の拡大につれて、パフォーマンスの課題が増大
  • 計算パフォーマンスの拡張が困難
  • 現状の計算に莫大なコストが発生

成果

  • 8000万件の処理をする時間が86分間から160分間に短縮
  • 分析の高速化により、失われる可能性のあった数百万ドルの収益を節約
  • オートスケーリングにより計算コストを最適化
  • あらゆる形式のデータの取り込みが容易に

おわりに

Databricksは大容量の臨床データなどを分析するのピッタリなサービスですので
非常に医療との親和性は高いです。

参考リンク

https://databricks.com/jp/customers


Databricks 事例紹介 ~金融編~

はじめに

今回は Databricks で公開されております金融関係の事例をまとめて紹介したいと思います。
本記事で紹介しております事例については、それぞれ下記の URL 参照。

■URL
お客様の成功事例
HSBC 事例
クレディ・スイス事例
Hipotecario 事例
Moneta 事例
Facteus 事例

HSBC 事例

image.png

ユースケース

HSBC は数ある国際銀行の中でも最大の銀行の1つで、モバイルデバイスでの最新のデジタル決済を案内しており、PayMe というキャッシュレス取引を瞬時かつ安全に行えるソーシャルアプリを開発しました。
Databricksを使い、データ分析と機械学習をスケーリングして、パーソナライゼーション、推奨事項、ネットワークサイエンス、詐欺検出などの顧客中心のユースケースに対応できるようになりました。

課題

  • 従来のシステムによる、データを大規模に処理および分析する能力の妨げ
  • 手動でのデータのエクスポートとマスキングにより、古いデータを用いた予測をすることに
  • デーテサイエンティスト達が各々の環境で取り組むため、共同での作業に支障が出る

成果

  • 自動スケーリングクラスタや Delta Lake のサポートなどの機能により、データの取り込みから機械学習ライフサイクル全体の管理までの運用が改善
  • Databricks と Delta Lake を使用することで、匿名化された本番データをリアルタイムでデータサイエンスおよびデータアナリストチームに安全に提供可能に
  • Delta Lakeを使用した高性能でスケーラブルなデータパイプライン:これにより、ダウンストリーム分析と機械学習のためのリアルタイムデータ処理を実行できるように
  • 複雑な分析のために、プロセスを自動化し、データ処理を6時間から6秒に
  • データセット全体に対してモデルをトレーニングする機能により、予測的モデルを展開してさまざまなユースケースに対応できるように
  • ネットワークサイエンスを活用して顧客とのつながりを理解する能力により、PayMeアプリのエンゲージメントレベルが4.5倍に向上

クレディ・スイス事例

image.png

ユースケース

クレディ・スイスは、Azure Databricks を含むオープンなクラウドベースのプラットフォームで標準化することで、データの種類、プライバシー、そしてスケールに関する重大な課題を克服し、組織全体の運用と ML の速度と規模を拡大しています。
Databricks を使用することで、データと分析を活用してデジタル変換を推進し、新製品をより迅速に市場に提供し、成長させ、運用効率を生み出すことができるようになりました。

課題

  • 手動プロセスの制限
  • オンプレミスシステムのパフォーマンス拡張の複雑さ
  • スマートな意思決定を行うために活用できるデータ

成果

  • Databricks のクラスター管理機能により、クラスターのプロビジョニングを簡素化することが可能に
  • プロプライエタリデータやサードパーティのデータ、構造化された非構造化データのリアルタイムストリーミングなど、さまざまなデータタイプを利用可能に
  • MLflow を使用することで、モデル管理ライフサイクルの合理化、モデルの迅速なテスト、実験、本番環境にデプロイ可能に

Hipotecario 事例

image.png

ユースケース

Banco Hipotecario はアルゼンチンの大手商業銀行です。
Databricks を使用してデータサイエンス、エンジニアリング分析を統合した結果、顧客の獲得とクロスセルを大幅に増加させるだけでなく、獲得コストの削減も実現し、全体的な顧客の維持と収益を大きく上げることができました。

課題

  • チーム間の共同作業の弱さ
  • 拡張や革新のできなさ
  • リソースを大量に消費するワークフロー

成果

  • Databricks の自動クラスター管理機能により、大規模なワークロードをサポートするためにクラスターをオンデマンドで拡張
  • Databricks で SQL 分析を実行すると、3か月以内で最初のモデルが展開可能で、2番目のモデルの生成はわずか2週間で可能に
  • ノートブックの利用により、データサイエンティストたちの共同作業が簡単に実現
  • ビルド、トレーニング、およびデプロイメントが高速化

Moneta 事例

image.png

ユースケース

モネタは、チェコ共和国で4番目に大きい銀行で、国内で最も革新的な銀行として認識されております。
Databricks 統合データ分析プラットフォームにより、データと高度な分析を活用したリアルタイムの推奨事項から詐欺の検出などが可能に。

課題

  • 大量のボリュームデータによる従来のシステム妨害
  • 大量のデータ処理に向かない
  • 運用の拡張に苦労

成果

  • データと ML を使用したバンキングエクスペリエンスの向上
  • 自動スケーリングクラスタやDelta LakeやMLflowのサポートなどの機能により、データの取り込みから機械学習ライフサイクル全体の管理までの分析操作が統合され、運用コストを2/3削減
  • 複数の言語をサポートする共有ノートブック環境により、チームの生産性が向上
  • 市場投入までの時間を改善し、プロトタイプを2Xまで生産に加速できるように

Facteus 事例

image.png

ユースケース

プロセッサー、投資会社、金融機関、小売企業向けの金融データビジネスインテリジェンス(BI)ソリューションの大手プロバイダー。
Databricks統合データ分析プラットフォームを活用して、インテリジェントなビジネス上の意思決定を行い、手動の運用タスクを自動化し、データ戦略を最適化しました。

課題

  • データの小さなサンプルの分析に限定されているため、顧客の要件と業界の傾向に対する可視性と洞察が不十分
  • 1,000億以上のトランザクションの処理は、規模と処理能力の欠如のために遅く、顧客の洞察を明らかにするのに数週間かかる
  • データサイエンスとエンジニアリングのチームのサイロ化

成果

  • 自動スケーリングクラスタやDelta LakeとMLflowのサポートなどの機能により、データの取り込みから機械学習ライフサイクル全体の管理までの運用が改善
  • 複数の言語をサポートする共有ノートブック環境により、チームの生産性が向上
  • 応答時間と顧客への洞察の提供が最大20倍向上
  • 大量のデータへのアクセスと処理に数週間かかっていたものが、今では数時間に短縮

おわりに

Databricks の金融に関する事例の紹介は以上となります。
事例のより詳細な内容や、その他の事例については、下記のリンク先をご参照ください。

参考リンク

https://databricks.com/jp/customers


Azure Databricks への Data Lake Storage Gen 2 マウント方法 (2019年12月時点)

はじめに

Azure Databricks に Azure Data Lake Storage Gen 2 をマウントする手順をまとめました。
(2019年12月時点)

手順

Azure Data Lake Storage Gen 2 設定

コンソールで Azure Active Directory を選択
image.png

アプリの登録で、新規登録を選択
image.png

名前は任意で設定し、サポートされるアカウントはシングルテナントを選択、リダイレクトURIに以下を入力し、登録をクリック
https://japaneast.azuredatabricks.net/
image.png

アプリケーションID と ディレクトリID をメモしておきます
image.png

証明書とシークレットから、新しいクライアントシークレットへと進み、説明を任意で入力し、追加をクリック
image.png

クライアントシークレット をメモしておきます。(一度しか表示されないので注意)
image.png

コンソールでストレージアカウントを選択
image.png

アカウントの追加を選択
image.png

詳細タブで、Data Lake Storage Gen2 の階層構造の名前空間を有効化
image.png

基本タブで、Azure Databricks と同じリソースグループを選択、ストレージアカウント名を任意で設定し、確認及び作成をクリック。ストレージアカウント名をメモしておきます。
image.png

階層構造の名前空間 が有効化されていることを確認し、作成をクリック
image.png

しばらくするとデプロイが完了するので、リソースに移動をクリック
image.png

ファイルシステムを作成するために、コンテナを選択
image.png

ファイルシステム名を任意で入力し、OKをクリック。ファイルシステム名をメモしておきます
image.png

作成したコンテナを選択
image.png

アクセス制御タブで、ロールの割り当ての追加を選択
image.png

役割をストレージ BLOB データ共同作業者に変更、選択で先ほど作成したストレージアカウント名を選択、保存をクリック
image.png

ロールの割り当てで、作成したロールが追加されていることを確認します。
image.png

以上で Data Lake Storage Gen 2 の設定は完了です。以下の情報がメモされていることを確認し、保存しておきましょう。Azure Databricks の Notebook で Gen2 をマウントする際に使用します。

  • アプリケーションID
  • ディレクトリID
  • クライアントシークレット
  • ストレージアカウント名
  • ファイルシステム名

Azure Storage Explorer でデータのアップロード

Azure Data Factory でデータ取り込みのフローを作成できます。@ume67026265 さんの記事が参考になります。
Azure Data Lake Storage Gen2 使ってみた

手元のデータを手早く取り込みたい際には、Azure Storage Explorer を用いると便利。
以下のような UI で直感的にデータをアップロードできます。
image.png

Azure Databricks でマウント

@KcMichael さんの記事のスクリプトが便利です。使わせてもらいましょう。
Azure Databricks: 3-2. DBFSにAzure Data Lake Storage Gen2をマウント

さいごに

Blob に比べると手順が多いので、UI の変更があると少し戸惑いますね。今後も Azure Databricks に関する Tips をお届けします!

参考リンク

Azure Databricks: 3-2. DBFSにAzure Data Lake Storage Gen2をマウント
Azure Data Lake Storage Gen2 使ってみた