Databricks Git フォルダーと Git の統合に関する制限事項と FAQ

Databricks Git フォルダーと Git 統合には、次のセクションで指定されている制限があります。 一般的な情報については、 「Databricks の制限」を参照してください。

ファイルと リポジトリのサイズ制限

Databricks では、リポジトリのサイズに制限は適用されません。 しかし:

  • 作業ブランチは 200 MB に制限されています。

  • 個々のワークスペース ファイルには、個別のサイズ制限が適用されます。 詳細については、「 制限事項」を参照してください。

  • 10 MB を超えるファイルは、Databricks UI で表示できません。

Databricks では、リポジトリで次のことを推奨しています。

  • すべてのファイルの合計数が 10,000 を超えないようにしてください。

  • ノートブックの総数は 5,000 を超えません。

Git 操作では、メモリ使用量は 2 GB に制限され、ディスク書き込みは 4 GB に制限されます。 この制限は操作ごとであるため、現在のサイズが 5 GB の Git repo を複製しようとすると失敗します。 ただし、サイズが 3 GB の Git repo を 1 回の操作で複製し、後で 2 GB を追加すると、次のプル操作は成功します。

リポジトリがこれらの制限を超えると、エラー メッセージが表示される場合があります。 リポジトリを複製するときにタイムアウト エラーが発生する場合もありますが、操作はバックグラウンドで完了する可能性があります。

サイズ制限を超えるリポジトリを操作するには、 スパース チェックアウトを試してください

クラスターのシャットダウン後に保持したくない一時ファイルを書き込む必要がある場合、一時ファイルを$TEMPDIRに書き込むと、ブランチ サイズの制限を超えることがなくなり、現在の作業ディレクトリ (CWD) に書き込むよりもパフォーマンスが向上します。ワークスペースのファイルシステム内にあります。 詳細については、 「Databricks のどこに一時ファイルを書き込めばよいですか?」を参照してください。 。

ワークスペース あたりのリポジトリの最大数

ワークスペースごとに最大 2,000 個のリポジトリを設定できます。

Gitフォルダーの構成

Databricks リポジトリのコンテンツはどこに格納されますか?

リポジトリの内容は、コントロール プレーンのディスクに一時的に複製されます。 Databricks ノートブック ファイルは、メイン ワークスペースのノートブックと同様に、コントロール プレーン データベースに格納されます。 ノートブック以外のファイルは、最大 30 日間ディスクに保存されます。

Git フォルダーはオンプレミスまたはセルフホストの Git サーバーをサポートしていますか?

Databricks Git フォルダーは、サーバーがインターネットにアクセスできる場合、GitHub Enterprise、Bitbucket Server、Azure DevOps Server、および GitLab セルフマネージド統合をサポートします。 Git フォルダーとオンプレミス Git サーバーの統合の詳細については、 「Git フォルダー用の Git プロキシ サーバー」を参照してください。

Bitbucket Server、GitHub Enterprise Server、またはインターネットにアクセスできない GitLab セルフマネージド サブスクリプション インスタンスと統合するには、Databricks アカウント チームにお問い合わせください。

Git フォルダーではどの Databricks アセット タイプがサポートされていますか?

サポートされているアセット タイプの詳細については、 「Databricks Git フォルダー内のファイル アセットの管理」を参照してください。

Git フォルダーは.gitignoreファイルをサポートしていますか?

はい。 リポジトリにファイルを追加し、Git で追跡したくない場合は、 .gitignore ファイルを作成するか、リモート リポジトリから複製されたファイルを使用して、拡張子を含むファイル名を追加します。

.gitignore Git によってまだ追跡されていないファイルに対してのみ機能します。 Git によって既に追跡されているファイルを .gitignore ファイルに追加しても、ファイルは引き続き Git によって追跡されます。

ユーザー フォルダーではない最上位フォルダーを作成できますか。

はい、管理者は最上位のフォルダーを 1 つの深さまで作成できます。 Git フォルダーは追加のフォルダー レベルをサポートしていません。

Git フォルダーは Git サブモジュールをサポートしていますか?

いいえ。 Git サブモジュールを含む リポジトリを複製することはできますが、サブモジュールは複製されません。

ソース管理

別のブランチをプルまたはチェックアウトするとノートブックダッシュボードが消えるのはなぜですか?

Databricks ノートブックのソース ファイルにはノートブック ダッシュボード情報が格納されないため、これは現在制限です。

ダッシュボードを Git リポジトリに保持する場合は、ノートブック形式を .ipynb (Jupyter ノートブック形式) に変更します。 デフォルトでは、 .ipynb はダッシュボードと視覚化の定義をサポートします。 グラフ データ (データポイント) を保持する場合は、出力を使用してノートブックをコミットする必要があります。

.ipynbノートブック出力のコミットについては、「'.ipynb' ノートブック出力のコミットを許可する」を参照してください。

Git フォルダーはブランチのマージをサポートしていますか?

はい。 プル要求を作成し、Git プロバイダーを介してマージすることもできます。

Databricks リポジトリからブランチを削除できますか?

いいえ。ブランチを削除するには、Git プロバイダーで作業する必要があります。

ライブラリがクラスターにインストールされ、同じ名前のライブラリがリポジトリ内のフォルダーに含まれている場合、どのライブラリがインポートされますか?

repo内のライブラリがインポートされます。Python でのライブラリの優先順位の詳細については、「 Python ライブラリの優先順位」を参照してください。

外部のオーケストレーションツールに依存せずにジョブを実行する前に、Gitから最新バージョンのリポジトリをプルできますか?

いいえ。通常、これを Git サーバーで事前コミットとして統合して、ブランチ (main/prod) へのすべてのプッシュで運用リポジトリが更新されるようにすることができます。

リポジトリをエクスポートできますか?

ノートブック、フォルダー、または repo全体をエクスポートできます。 ノートブック以外のファイルはエクスポートできず、 repo全体をエクスポートする場合、ノートブック以外のファイルは含まれません。 エクスポートするには、 Databricks CLI - ワークスペース エクスポート または ワークスペース API を使用します。

セキュリティ、認証、およびトークン

Microsoft Entra ID (旧称 Azure Active Directory) の条件付きアクセス ポリシー (CAP) に関する問題

リポジトリを複製しようとすると、次の場合に "アクセス拒否" エラー メッセージが表示されることがあります。

  • Databricks は、Microsoft Entra ID 認証で Azure DevOps を使用するように構成されています。

  • Azure DevOps で条件付きアクセス ポリシーと Microsoft Entra ID 条件付きアクセス ポリシーを有効にしました。

これを解決するには、Databricks の IP アドレスまたはユーザーの条件付きアクセス ポリシー (CAP) に除外を追加します。

詳細については、「 条件付きアクセス ポリシー」を参照してください。

Databricks Git フォルダーの内容は暗号化されていますか?

Databricks Git フォルダーの内容は、Databricks によってデフォルトのキーを使用して暗号化されます。 顧客管理キーを使用した暗号化は、Git 資格情報を暗号化する場合を除きサポートされません。

GitHub トークンは Databricks のどこにどのように格納されますか? 誰が Databricks からアクセスできますか?

  • 認証トークンは Databricks コントロール プレーンに格納され、Databricks の従業員は監査される一時的な資格情報を介してのみアクセスできます。

  • Databricks は、これらのトークンの作成と削除をログに記録しますが、その使用状況はログに記録しません。 Databricks には、Databricks アプリケーションによるトークンの使用を監査するために使用できる Git 操作を追跡するログがあります。

  • GitHub エンタープライズはトークンの使用状況を監査します。 他の Git サービスにも Git サーバー監査がある場合があります。

Git フォルダーはコミットの GPG 署名をサポートしていますか?

いいえ。

Git フォルダーは SSH をサポートしていますか?

いいえ、 HTTPSだけです.

CI/CD および MLOps

受信した変更によってノートブックの状態 がクリアされる

ノートブックのソース コードを変更する Git 操作を行うと、セル出力、コメント、バージョン履歴、ウィジェットなどのノートブックの状態が失われます。 たとえば、 git pullはノートブックのソース コードを変更できます。 この場合、Databricks Git フォルダーは既存のノートブックを上書きして変更をインポートする必要があります。 git commitpush 、または新しいブランチの作成はノートブックのソース コードに影響を与えないため、ノートブックの状態はこれらの操作で保持されます。

リポジトリに MLflow エクスペリメントを作成できますか?

MLflow エクスペリメントには、 ワークスペースノートブックの 2 種類があります。 2 種類の MLflow エクスペリメントの詳細については、「 MLflow エクスペリメントを使用してトレーニングの実行を整理する」を参照してください。

Git フォルダーでは、どちらのタイプの MLflow エクスペリメントに対してもmlflow.set_experiment("/path/to/experiment")を呼び出し、実行のログを記録できますが、そのエクスペリメントと関連する実行はソース管理にチェックインされません。

ワークスペース MLflow エクスペリメント

Databricks Git フォルダー (Git フォルダー) にワークスペース MLflow エクスペリメントを作成することはできません。 複数のユーザーが別々の Git フォルダーを使用して同じ ML コードで共同作業する場合、MLflow 実行のログは、通常のワークスペース フォルダーに作成された MLflow エクスペリメントに記録されます。

Notebook MLflow エクスペリメント

ノートブック エクスペリメントは、Databricks Git フォルダーに作成できます。 ノートブックを .ipynb ファイルとしてソース管理にチェックインする場合は、自動的に作成され、関連付けられた MLflow エクスペリメントに MLflow の実行をログに記録できます。 詳細については、 ノートブックエクスペリメントの作成に関する記事を参照してください。

MLflow エクスペリメント でのデータ損失を防ぐ

警告

ノートブックを含まないブランチに切り替えると、関連する MLFlow エクスペリメント データが失われるリスクがあります。 この損失は、前のブランチが 30 日以内にアクセスされない場合に永続的になります。

30 日間の有効期限が切れる前に不足しているエクスペリメント データを回復するには、ノートブック の名前を元の名前に戻し、ノートブックを開き、右側のウィンドウにある [エクスペリメント] アイコンをクリックすると (これも事実上 mlflow.get_experiment_by_name() API を呼び出します)、回復されたエクスペリメントと実行を確認できます。 30 日後、孤立した MLflow エクスペリメントは、GDPR コンプライアンス ポリシーを満たすために消去されます。

この状況を回避するために、Databricks では、リポジトリ内のノートブックの名前変更を完全に回避するか、ノートブックの名前を変更する場合は、ノートブックの名前を変更した直後に右側のウィンドウの [エクスペリメント] アイコンをクリックすることをお勧めします。

Git 操作の進行中にノートブック ジョブがワークスペースで実行されている場合はどうなりますか?

Git 操作の進行中の任意の時点で、リポジトリ内の一部のノートブックが更新され、他のノートブックは更新されていない可能性があります。 これにより、予期しない動作が発生する可能性があります。

たとえば、 notebook A %run コマンドを使用して notebook Z を呼び出すとします。Git 操作中で実行されているジョブが最新バージョンの notebook Aを起動したが、 notebook Z がまだ更新されていない場合、ノートブック A の %run コマンドによって古いバージョンの notebook Zが開始される可能性があります。 Git 操作中、ノートブックの状態は予測できず、ジョブが失敗したり、異なるコミットから notebook Anotebook Z を実行したりする可能性があります。

この状況を回避するには、代わりに Git ベースのジョブ (ソースがワークスペース パスではなく Git プロバイダーである) を使用します。 詳細については、「 Databricks ジョブでバージョン管理されたソース コードを使用する」を参照してください。

リソース

Databricks ワークスペース ファイルの詳細については、「 ワークスペース ファイルとは」を参照してください。