相互運用性とユーザビリティに関するベストプラクティス

この記事では、 相互運用性と使いやすさのベスト プラクティスを、次のセクションに示すアーキテクチャの原則別に整理して説明します。

1.統合の標準を定義する

外部統合に Databricks REST API を使用する

Databricks レイクハウスには、プラットフォームのほぼすべての側面をプログラムで管理できる包括的なREST APIが付属しています。 REST API サーバーはコントロール プレーンで実行され、Databricks プラットフォームを管理するための統合エンドポイントを提供します。 これは、たとえば CI/CD や MLOps の既存のツールに Databricks を統合する場合に推奨される方法です。 シェルベースのデバイスに統合するために、 Databricks CLI は多くの REST APIsコマンド ライン インターフェイスにカプセル化します。

最適化されたコネクタを使用してレイクハウスからデータソースにアクセスする

Databricks は、Delta Lake へのデータの取り込みを支援するさまざまな方法を提供します。 したがって、レイクハウスは、多くのデータ形式とクラウド サービスに最適化されたコネクタを提供します。 「JDBC を使用したデータベースのクエリ」を参照してください。 それらの多くはすでに Databricks Runtime に含まれています。 これらのコネクタは多くの場合、特定のデータ ソース用に構築および最適化されます。

Partner Connectで利用可能なパートナーを使用する

企業にはさまざまなニーズがあり、1 つのツールですべてを満たすことはできません。 Partner Connect を使用すると、データ取り込み、準備と変換、BI と可視化、機械学習、データ品質など、レイクハウスのあらゆる側面をカバーするパートナーを探索し、簡単に統合できます。 Partner Connect を使用すると、選択した Databricks 技術パートナーで試用版アカウントを作成し、Databricks UI から Databricks ワークスペースをパートナー ソリューションに接続できます。 Databricks レイクハウスのデータを使用してパートナー ソリューションを試し、ビジネス ニーズに最も適したソリューションを採用します。

Delta Live Tables と Auto Loader を使用する

Delta Live Tables は、信頼性が高く、保守しやすく、テスト可能なデータ処理パイプラインを構築するためのフレームワークです。 データに対して実行する変換を定義すると、Delta Live Tables によってタスク オーケストレーション、クラスター管理、モニタリング、データ品質、およびエラー処理が管理されます。 「 Delta Live Tablesとは」を参照してください。

Auto Loader、 クラウドストレージに到着した新しいデータファイルを増分的かつ効率的に処理します。クラウドストレージからデータファイルを確実に読み取ることができます。 Delta Live Tables と Auto Loader の両方の本質的な側面は、宣言的な性質です:それらがなければ、イベントに基づいてクラウドファイルを確実に読み取り、バッチソースとストリーミングソースを確実に組み合わせることができるように、通知サービスやキューイングサービスなどのさまざまなクラウドサービスを統合する複雑なパイプラインを構築する必要があります。

Auto Loader と Delta Live Tables により、システムの依存関係と複雑さが軽減され、クラウドストレージとの相互運用性や、バッチやストリーミングなどのさまざまなパラダイム間の相互運用性が大幅に向上します。 副作用として、パイプラインのシンプルさにより、プラットフォームの使いやすさが向上します。

デプロイとメンテナンスのためのコードとしてのインフラストラクチャの使用

HashiCorp Terraformは、複数のクラウドプロバイダー間で安全で予測可能なクラウドインフラストラクチャを作成するための人気のあるオープンソースツールです。 「 オペレーショナル エクセレンス」>「デプロイとメンテナンスにコードとしてのインフラストラクチャを使用する」を参照してください。

2.オープンインターフェイスとオープンデータ形式を優先する

Delta データ形式を使用する

Delta Lake フレームワークには、信頼性機能から高性能の機能強化まで、多くの利点があり、完全にオープンなデータ形式でもあります。見る:

さらに、Delta Lake には、開発プロジェクトに Delta フォーマットを開く Delta Standalone ライブラリが付属しています。 これは、 Deltaテーブルの読み取りと書き込みができる単一ノードの Java ライブラリです。 多数のサードパーティ製ツールやアプリケーションがDelta Lake をサポートしています。 具体的には、このライブラリはトランザクション ログ内のテーブル メタデータと対話するためのAPIsを提供し、 Deltaトランザクション ログ プロトコルを実装してDelta形式のトランザクション保証を実現します。 Delta Lakeは何ですか?」を参照してください。 。

MLflow を使用して機械学習ワークフローを管理する

MLflow は、実験、再現性、デプロイ、中央モデル レジストリなど、機械学習のライフサイクルを管理するためのオープンソース プラットフォームです。 Databricks で MLflow を使用すると、オープンでポータブルなツールを使用して機械学習ワークフローを記述し、Databricks によって運用される信頼性の高いサービス (Tracking Server、Model Registry) を使用できます。 「 MLflow を使用した機械学習ライフサイクル管理」を参照してください。 また、エンタープライズ レベルのスケーラブルなモデルサービングも追加され、MLflow モデルを REST エンドポイントとしてホストできます。

3. ユースケースを実装するための障壁を下げる

プラットフォーム全体でセルフサービスエクスペリエンスを提供

Databricks Data Intelligence Platform には、セルフサービス エクスペリエンスを提供するために必要なすべての機能が備わっています。 必須の承認ステップがある場合がありますが、ベスト プラクティスは、ビジネス ユニットがレイクハウスへのアクセスを要求するときにセットアップを完全に自動化することです。 新しい環境を自動的にプロビジョニングし、ユーザーを同期して認証に SSO を使用し、共通データへのアクセス制御や独自のデータ用の個別のオブジェクト ストレージなどを提供します。 これは、意味的に一貫したビジネス対応のデータ セットを含む中央データ カタログと併せて、新しいビジネス ユニットがレイクハウスの機能と必要なデータに迅速かつ安全にアクセスできるようにします。

ユースケースごとに事前定義されたクラスターとSQLウェアハウスを提供する

サーバレス サービスを利用できない場合は、エンド ユーザーからクラスタ (VM の種類、ノード サイズ、クラスタ サイズ) を定義する負担を取り除きます。 これは、次の方法で実現できます。

  • 共有クラスターをユーザーの即時環境として提供します。 これらのクラスターでは、オートスケールを最小限のノードまで使用して、アイドル・コストが高くならないようにします。

  • クラスターポリシー を使用して、プロジェクトの T シャツサイズのクラスター (S、M、L) を標準化された作業環境として定義します。

4. データの一貫性と使いやすさを確保する

ビジネスが信頼できる再利用可能な製品としてのデータを提供

高品質の製品としてのデータを作成することは、あらゆるデータプラットフォームの主要な目標です。 アイデアは、 データエンジニアリング チームが精選されたデータに製品思考を適用するというものです:データ資産は彼らの製品であり、データサイエンティスト、機械学習およびBIエンジニア、またはデータを使用する他のビジネスチームは顧客です。 これらの顧客は、専門のデータチームの介入なしに、セルフサービスエクスペリエンスを通じて、これらの製品としてのデータを発見、対処、および価値を創造できる必要があります。

企業全体で意味的に一貫性のあるデータ製品を公開する

データレイクには通常、さまざまなソースシステムからのデータが含まれています。 これらのシステムでは、同じ概念に異なる名前が付けられたり ( 顧客アカウントなど)、同じ識別子によって異なる概念を意味する場合があります。 ビジネス ユーザーがこれらのデータ セットを意味のある方法で簡単に結合できるようにするには、意味的に一貫性を保つために、すべてのソースでデータを同種にする必要があります。 さらに、一部のデータを分析に役立てるには、収益認識などの内部ビジネス ルールを正しく適用する必要があります。 すべてのユーザーが正しく解釈されたデータを使用していることを確認するには、これらのルールを持つデータセットを使用可能にし、 Unity Catalogにパブリッシュする必要があります。 ソース データへのアクセスは、正しい使用法を理解しているチームに制限する必要があります。

データディスカバリーと系列探索に Unity Catalog を使用する

Unity Catalog では、管理者とデータスチュワードが、Databricks アカウント内のすべてのワークスペースで、ユーザーとそのデータへのアクセスを 一元的に 管理します。 異なるワークスペースのユーザーは同じデータを共有でき、Unity Catalog で一元的に付与されたユーザー特権に応じて、共同データ アクセスが可能になります。 「カタログエクスプローラとは」を参照してください。

ユーザビリティの観点から、 Unity Catalog は次の 2 つの機能を提供します。

  • カタログ エクスプローラーは、Unity Catalog の多くの機能のメイン UI です。 カタログエクスプローラーを使用して、スキーマの詳細の表示、サンプルデータのプレビュー、テーブルの詳細とプロパティの表示を行うことができます。 管理者は所有者を表示および変更でき、管理者とデータ・オブジェクト所有者は権限を付与および取り消すことができます。 また、Databricks Search を使用すると、ユーザーはデータ資産 (テーブル、列、ビュー、ダッシュボード、モデルなど) を簡単かつシームレスに検索できます。 ユーザーには、検索要求に関連し、アクセスできる結果が表示されます。

  • データリネージ すべてのクエリー 実行 on a Databricks クラスターまたは SQLウェアハウス. リネージはすべての言語でサポートされており、列レベルまでキャプチャされます。 リネージ データには、クエリーに関連するノートブック、ワークフロー、およびダッシュボードが含まれます。 リネージは、カタログ エクスプローラーの near リアルタイムに視覚化し、Databricks REST API を使用して取得できます。

企業がすべてのデータプラットフォームのすべてのデータの全体像をユーザーに提供できるようにするために、Unity Catalog はエンタープライズデータカタログ(「カタログのカタログ」と呼ばれることもあります)との統合を提供します。