Databricks Git フォルダーの制限とリファレンス
次のセクションでは、Databricks Git フォルダーと Git 統合の制限を指定します。一般的な情報については、 「リソース制限」を参照してください。
にジャンプする:
Git フォルダーでサポートされている Databricks アセットの種類については、「 Git フォルダーでサポートされているアセットの種類」を参照してください。
ファイルとリポジトリの制限
Databricks ではリポジトリのサイズに制限は適用されません。しかし:
- 作業ブランチは 1 GB に制限されます。
- Databricks UI では 10 MB を超えるファイルを表示できません。
- 個々のワークスペース ファイルには個別のサイズ制限があります。制限事項を参照してください。
- ローカル ブランチは、リモート ブランチが削除された後、最大 30 日間、関連付けられた Git フォルダー内に残ります。ローカル ブランチを完全に削除するには、リポジトリを削除します。
Databricks では、ワークスペース アセットとファイルの合計数を 20,000 未満に抑えることを推奨しています。
各 Git 操作は、2 GB のメモリと 4 GB のディスク書き込みに制限されます。制限は操作ごとに適用されるため、5 GB のリポジトリのクローン作成は失敗しますが、3 GB のリポジトリのクローン作成とその後の 2 GB の追加は成功します。
リポジトリがこれらの制限を超えると、クローン作成中にエラーが発生したり、タイムアウトが発生したりする可能性がありますが、操作はバックグラウンドで完了する可能性があります。
より大きなリポジトリを操作するには、スパース チェックアウトまたはGit CLI コマンドを試してください。
クラスターのシャットダウン後に保持されない一時ファイルを書き込むには、 $TEMPDIRを使用します。これにより、ブランチ サイズの制限を超えることが回避され、ワークスペース ファイル システムの作業ディレクトリ (CWD) に書き込むよりも優れたパフォーマンスが実現します。「Databricks のどこに一時ファイルを書き込めばよいですか?」を参照してください。
削除されたファイルの回復
ファイルの回復可能性はアクションによって異なります。一部のアクションでは ゴミ箱 フォルダからの回復が許可されますが、他のアクションでは許可されません。以前にコミットされリモート ブランチにプッシュされたファイルは、リモート リポジトリの Git コミット履歴を使用して復元できます。
操作 | ファイルは回復可能ですか? |
|---|---|
ワークスペースブラウザでファイルを削除する | はい、 ごみ箱 フォルダから |
Git フォルダ ダイアログで新しいファイルを破棄する | はい、 ごみ箱 フォルダから |
Git フォルダダイアログで変更したファイルを破棄する | いいえ、ファイルはなくなりました |
| いいえ、ファイルの変更はなくなりました |
| いいえ、ファイルの変更はなくなりました |
Git フォルダダイアログでブランチを切り替える | はい、リモートの Git リポジトリから |
その他の Git 操作 (コミットやプッシュなど) を Git フォルダ ダイアログから | はい、リモートの Git リポジトリから |
| はい、リモートの Git リポジトリから |
モノレポのサポート
Databricks では、多数のプロジェクトにわたる数千のファイルを含む、単一組織の大規模な Git リポジトリである monorepos によってサポートされる Git フォルダーを作成しないことを推奨しています。
構成
このセクションでは、Git フォルダーのストレージ、サーバー サポート、および一般的なセットアップに関する質問について説明します。
リポジトリコンテンツの保存
Databricks はリポジトリの内容をコントロール プレーンのディスクに一時的に複製します。コントロール プレーン データベースには、メイン ワークスペースにあるものと同様のノートブック ファイルが格納されます。ノートブック以外のファイルは最大 30 日間ディスクに保存されます。
オンプレミスおよびセルフホスト型 Git サーバー
Databricks Git フォルダーは、サーバーがインターネットにアクセスできる場合、GitHub Enterprise、Bitbucket Server、Azure DevOps Server、および GitLab Self-managed をサポートします。オンプレミス統合のGit フォルダーについては、Git プロキシ サーバーを参照してください。
インターネットにアクセスできない Bitbucket Server、GitHub Enterprise Server、または GitLab のセルフマネージドインスタンスと統合するには、Databricks アカウント チームにお問い合わせください。
サポートされている資産タイプ
サポートされているアーティファクト タイプの詳細については、「Git フォルダーでサポートされているアセット タイプ」を参照してください。
Git フォルダーは .gitignore ファイルをサポートしていますか?
はい。Git によるファイルの追跡を防ぐには、ファイル名 (拡張子を含む) を.gitignoreファイルに追加します。作成するか、リモート リポジトリからクローンした既存のファイルを使用します。
.gitignore 追跡されていないファイルに対してのみ機能します。すでに追跡されているファイルを.gitignoreに追加しても、Git による追跡は停止されません。
Gitサブモジュールのサポート
標準の Git フォルダーは Git サブモジュールをサポートしていませんが、Git CLI アクセス権を持つ Git フォルダーは Git サブモジュールを使用できます。「Git CLI コマンドの使用 (ベータ版)」を参照してください。
ソース管理
このセクションでは、ブランチ、マージ、および Git フォルダーがノートブックと依存関係を処理する方法について説明します。
ノートブックのダッシュボードとブランチの変更
Databricks ソース形式のノートブックにはダッシュボード情報は保存されません。
ダッシュボードを保持するには、ノートブックの形式を、ダッシュボードと視覚化の定義をデフォルトでサポートする.ipynb (Jupyter 形式) に変更します。視覚化データを保持するには、出力を含むノートブックをコミットします。
ipynbノートブック出力コミットの管理」を参照してください。
Git フォルダーはブランチのマージをサポートしていますか?
はい。 また、Git プロバイダーを通じて pull request を作成し、マージすることもできます。
ブランチの削除
ブランチを削除するには、Git プロバイダーで作業する必要があります。
Pythonの依存関係の優先順位
Git フォルダー内の Python ライブラリは、他の場所に保存されているライブラリよりも優先されます。たとえば、ライブラリがDatabricksコンピュートにインストールされており、同じ名前のライブラリがGitフォルダーに存在する場合、 Gitフォルダーのライブラリがインポートされます。 Python ライブラリの優先順位を参照してください。
セキュリティ、認証、トークン
このセクションでは、Git プロバイダーの暗号化、トークンの保存、および認証の問題について説明します。
Gitフォルダの暗号化
Databricks は、デフォルトのキーを使用して Git フォルダーの内容を暗号化します。顧客管理キーは、Git 資格情報の暗号化にのみサポートされます。
GitHubストレージとアクセス
- Databricks コントロール プレーンには認証トークンが保存されます。従業員は監査済みの一時的な資格情報を通じてのみアクセスできます。
- Databricks はトークンの作成と削除を記録しますが、使用状況は記録しません。Git 操作ログを使用すると、Databricks アプリケーションによるトークンの使用状況を監査できます。
- GitHub Enterprise はトークンの使用状況を監査します。他の Git サービスでもサーバー監査が提供される場合があります。
Git フォルダはコミットの GPG 署名をサポートしていますか?
いいえ。
GitフォルダはSSHをサポートしていますか?
いいえ。Git フォルダーは HTTPS のみをサポートします。
CI/CD と MLOps
このセクションでは、 Git操作がノートブックの状態、 MLflowエクスペリメント、およびジョブの実行にどのような影響を与えるかについて説明します。
受信した変更により、ノートブックの状態がクリアされます
ノートブックのソース コードを変更する Git 操作を行うと、セル出力、コメント、バージョン履歴、ウィジェットなどのノートブックの状態が失われます。たとえば、 git pullノートブックのソース コードを変更する可能性があり、Databricks Git フォルダーで既存のノートブックを上書きする必要があります。git commit 、 push 、または新しいブランチの作成などの操作はソース コードに影響を与えず、ノートブックの状態を保持します。
MLflowエクスペリメントはDatabricks Runtime 14.x 以前のバージョンのGitフォルダーでは機能しません。
GitフォルダーでのMLflow体験
MLflow体験には ワーク スペースとノート ブック の 2 種類があります。 MLflowエクスペリメントを使用したトレーニング実行の編成」を参照してください。
-
ワークスペース エクスペリメント : GitフォルダーにワークスペースMLflowエクスペリメントを作成することはできません。 通常のワークスペース フォルダーに作成されたエクスペリメントにMLflow実行のログを記録します。 複数ユーザーによる共同作業の場合は、共有ワークスペース フォルダーを使用します。
-
ノートブック エクスペリメント : Databricks Gitフォルダーにノートブック エクスペリメントを作成できます。 ノートブックを
.ipynbファイルとしてソース コントロールにチェックインすると、 MLflow実行ログが自動的に作成されたエクスペリメントに記録されます。 ソース コントロールは、エクスペリメントまたはその実行をチェックインしません。 「ノートブック エクスペリメントの作成」を参照してください。
エクスペリメントでのデータ損失を防ぐMLflow
LakeFlow ジョブを使用して作成されたノートブックMLflowエクスペリメントLakeFlowリモート リポジトリのソース コードは、一時ストレージに保存されます。 これらのエクスペリメントは、最初はワークフローの実行後に残りますが、スケジュールされたクリーンアップ中に削除される危険性があります。 Databricks 、ジョブとリモートGitソースでワークスペースMLflowエクスペリメントを使用することをお勧めします。
ノートブックを含まないブランチに切り替えると、関連するMLflowエクスペリメント データが失われる危険があります。 30 日以内に以前のブランチにアクセスしない場合、この損失は永続的になります。
30 日の有効期限が切れる前に失われた体験データを復元するには、元のノートブック名を復元し、ノートブックを開いて、右側のペインで。 これにより
mlflow.get_experiment_by_name()トリガーされ、経験と実行が回復されます。 30 日後、 Databricks GDPRのために孤立したMLflowエクスペリメントを削除します。
データの損失を防ぐため、リポジトリ内のノートブックの名前を変更しないでください。ノートブックの名前を変更する場合は、すぐに右ペインの「エクスペリメント」アイコンをクリックします。
Git操作中にジョブを実行する
Git 操作中に、一部のノートブックが更新され、他のノートブックがまだ更新されていない場合があり、予期しない動作が発生します。
たとえば、 notebook A %runを使用してnotebook Z呼び出し、Git 操作中にジョブが開始された場合、ジョブは最新のnotebook A古いnotebook Zで実行する可能性があります。ジョブが失敗したり、異なるコミットからのノートブックが実行されたりする可能性があります。
これを回避するには、ワークスペース パスではなく Git プロバイダーをソースとして使用するようにジョブ タスクを構成します。「ジョブで Git を使用する」を参照してください。
リソース
Databricks ワークスペース ファイルの詳細については、「 ワークスペース ファイルとは」を参照してください。