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-60413bb4a831f384132847/]

つまり、

  • 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 使ってみた


SparkSQL で時系列仮想データテーブルを作る関数

はじめに

タイトル通り、SparkSQL で時系列仮想データテーブルを作る関数です。以下のような方を想定。

  • 最近 Spark さわり始めた
  • 時系列データで Window 処理をバッチ的に行いたい
  • SparkSQL で普通にクエリが書けると聞いたけど、
    • MySQL でのいつものメソッドは使えなさそう
    • PostgreSQL の Generate Series が使えればいいのに

関数

こんな感じで書きました。開始日、終了日、秒単位のインターバル、テーブルの行名を引数にしています。

[crayon-60413bb4a8d63613579945/]

使用例

1秒ごと

[crayon-60413bb4a8d69679860959/]

image.png

1時間ごと

[crayon-60413bb4a8d6b163652312/]

image.png

おわりに

とりあえずは動作しますが、、

  • この関数使えば一発じゃん
  • こんな非効率なことして…

という方、情報いただけると大変うれしいです。

参考リンク

Spark Programming Guide


Spark Dataframe を投げるとヒートマップを出力する関数

はじめに

Spark df でヒートマップを作るたびに何度も同じことを調べてるので、備忘録がてら関数にしておきます。

関数

Spark dfと、相関を調べるカラムを入れたリスト、2つを引数に取ります。

[crayon-60413bb4a95a6816008019/]

使用例

iris で試してみます。

[crayon-60413bb4a95ac791998336/]

image.png

さいごに

Pandas df にするときにクラスタが走っちゃってるので頻繁に行う場合には要注意。小規模データでさっとカラムの相関を見たいときに。

参考リンク

seabornの細かい見た目調整をあきらめない


Databricks Community Edition で Notebook を立ち上げる

はじめに

Databricks は、特に海外で破竹の勢いを見せるデータ分析基盤です。

  • データ分析のための統合プラットフォーム
  • 2000 以上のグローバル企業がビッグデータおよび機械学習パイプラインの設計に活用
  • 2020 Gartner Magic Quadrant で Leader に指名 (データサイエンス及び機械学習プラットフォーム分野)
  • Apache Spark、Delta Lake、MLflow の開発者が作っている

実ビジネスで利用するのであればアーキテクチャ構築や権限設計が必須ですが、オープンデータソースでまずは使用感を試したい方向けに無償プランが用意されています。有償版と無償版の違いは以下の通り (2020年2月時点)

1.jpg

本稿では無償版である Databricks Community Edition の登録から Notebook を立ち上げるまでの手順を示します。

アカウント作成

Try Databricks にアクセスして、GET STARTED をクリック
2020-02-25_13h31_13.png

全ての項目を入力し、 Sign Up をクリック
2020-02-25_13h35_01.png

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

メアドに届いたメールのリンクに遷移し、パスワードを設定します(初回登録でも Reset Password になるようです)。
2020-02-25_13h39_31.png

これで完了。すぐにコンソール画面が表示されます。
image.png

クラスタの作成

Home 画面より、New Cluster をクリック
2020-02-25_13h44_13.png

Community Edition では Driver クラスタのみ。 Cluster Name は任意で設定します。Runtime Version については、既存アーキテクチャやスクリプトとの兼ね合いを検討する必要がないのであれば、デフォルト値で良いでしょう(2020年2月25日 時点では 6.2)。
インスタンスは us-west に立ち上がるようです。どれかを選択して Create Cluster をクリック。
2020-02-25_13h49_41.png

ちょっと待つとこちらのアイコンが緑になります。これで Cluster の準備完了です
2020-02-25_13h54_19.png

Notebook の作成

トップ画面から New Notebook をクリックし、名称を任意で入力します。アカウントを作成したばかりであれば、先ほど作成したクラスタが選択されているはずです。Create をクリック。
2020-02-25_13h56_17.png

すぐに Notebook の画面が出てきます。
image.png

さいごに

一定規模以上のデータを保持していて、その解析に Spark 使っているのであれば、現時点では Databricks 一択になるかと思います。普段 Jupyter Notebook で分析をしている方は触っておくだけでも損はないはず。

参考リンク

Databricks


MMLSpark を Databricks on EC2 のクラスタにインストールする方法

はじめに

MMLSpark を Databricks (on AWS EC2) のクラスタで使用できるようにする手順を示します。

対象者

  • Databricks on EC2(AWS) で分析環境を立ち上げている
    • init_script をいじったけどなんだかうまく行かない
    • pip でもうまくいかない
    • MMLSpark は Azure 以外のプラットフォームで使えないの?
  • 現在使用しているアルゴリズムをSparkによる分散処理に最適化できないか方法を探している

mmlspark とは?

正式名称は、Microsoft Machine Learning for Apache Spark

Microsoft Azure のマネージド機械学習サービスである Cogninive Services や、機械学習の現場でよく使われる LightGBM などを Spark で効率的に活用できるように最適化したパッケージが揃っているライブラリです。

画像処理ライブラリの雄である OpenCV のパッケージもあります。2020年5月現在では実装されている関数は限定的ですが、大量の画像に対してシンプルな前処理を並列かつ高速に行いたい場合には選択肢に入ってきそうです。
MMLSpark OpenCV Package

そしてこのパッケージ、Microsoft Azure 以外のプラットフォームでも使えます。

インストール方法

Databricks のワークスペースで、
ClustersからLibrariesに飛び、Install Newをクリック
スクリーンショット 2020-05-15 7.08.01.png

Library Source に Mavenを選択し、Repository に以下を入力、Installをクリック
com.microsoft.ml.spark:mmlspark_2.11:1.0.0-rc1
スクリーンショット 2020-05-15 7.10.58.png

しばらくするとこちらの画面に遷移します。
Status が InstalledになっていればOK。これで完了です。
スクリーンショット 2020-05-15 7.13.14.png

参考スクリプト

以下のような感じで、Collaborative Notebook 上でモジュールが使えるようになります。

[crayon-60413bb4a9de5556921341/]

result
image.png

[crayon-60413bb4a9dea528379854/]

result
image.png

[crayon-60413bb4a9dec238281726/]

result
image.png

[crayon-60413bb4a9ded930212364/]

result
image.png

おわりに

モジュールのインストール方法にもいろいろあるんですね。
依存関係が出やすいので pip 乱発はやめたいところです(自戒)

参考資料

公式 MMLSpark 紹介サイト
公式 MMLSpark Github

LightGBM 上記スクリプトソース


DatabricksでMLflowを使う③ - モデルのライフサイクル管理 -

はじめに

機械学習モデルのライフサイクル管理を行うオープンソースであるMLflowをDatabricksのUI上で使用する方法について書いています。

DatabricksでMLflowを使う① - ノートブック上での実験トラッキング -
DatabricksでMLflowを使う② - 実験パラメータとメトリクスの可視化 -

こちらの記事の続きとなります。
Databricksのマネージド型MLflowではトレーニングしたモデルのステージングについてもUI上で行うことができます。今回はこちらについて書きます。

モデルの登録

前回の記事の各実験の比較画面です。こちらから一番左のモデルを本運用に移行しようとしているとします。run idから個別ページへ移動します。
image.png

個別ページへ移動して下のほうへスクロールします。アーティファクトの「model」を選択すると「Register Model」と表示されるのでクリックします。
image.png

モデルとモデル名を記載して、登録します。初めてモデルを作成する場合は「+ Create New Model」しか選択できませんが、登録済みのモデルがある場合にはそのモデルが選択できるようになります。その場合、既存モデルのバージョン違いのものとして登録されます。
image.png

登録が完了すると、モデルの個別ページに移動できるようになります。
画面右のモデル名とバージョンが記載されている部分か、左のサイドバーの「Models」から移動できます。
今回はサイドバーから移動します。
image.png

登録したモデルとバージョンが表示されます。ライフサイクルを管理するバージョンをクリックします。
image.png

ライフサイクル管理

個別ページの「Source Run」から該当のrun idの個別ページへ移動できます。
さっそくステージングを行いたいと思います。
image.png

Stageの部分をクリックするとプルダウンで変更後のステージ状態が選択できるようになっています。ステージには「Staging」「Production」「Archived」の3種類があります。
それぞれに対してRequestを求めてから変更するか、直接変更するかが選べます。
image.png

今回は「Request transition to → Staging」を選択します。
コメントを加えてokします。
image.png

「Pending Requests」の部分にリクエストが表示されます。このモデルにアクセスできるメンバーはApproveまたはRejectできるようになります。(リクエストした本人はCancelもできるようになっています。)ためしにApproveしてみます。
image.png

コメントを加えてconfirmします。
image.png

Pending Requestsから消えて、Stageが「Staging」へ移行しています。
image.png

下にスクロールすると履歴が表示されます。
image.png

おわりに

今回はモデルのライフサイクル管理について書きました。
次回は本運用へ移行するモデルができたときのモデルの呼び出しについて書きたいと思います。