ð¢ ãReposçŽäžã«çœ®ãããšæã£ãŠã...ã å®ã¯ä»æ§äžã§ããŸããïŒã§ã倧äžå€«ããã£ãšè¯ãæ¹æ³ããããŸãïŒ ð
ð€ ãã®èšäºã§è§£æ±ºã§ããããš
ãã®èšäºã§ã¯ãDatabricksã§è€æ°ã®ãŠãŒã¶ãŒãå ±éã§äœ¿çšã§ããGitHubãªããžããªãé 眮ããæ¹æ³ããUIããã®æäœæ¥ãäžå¿ã«äžå¯§ã«è§£èª¬ããŸãããReposçŽäžã«é 眮ãããããšèããŠããæ¹ãå®å¿ããŠãã ãããæ£ããä»£æ¿ææ®µããäŒãããŸãã
â ïž ãŸãç¥ã£ãŠããã¹ãéèŠãªäºå®
ð« ReposçŽäžãžã®é 眮ã¯ä»æ§äžäžå¯èœã§ã
Databricksã®Reposæ©èœã«ã¯ããã¹åœ¢åŒã«é¢ããæç¢ºãªå¶çŽããããŸããããã¯UIããã§ãAPIããã§ãåãã§ãã
å ¬åŒSDKããã¥ã¡ã³ãã«ã¯ä»¥äžã®ããã«èšèŒãããŠããŸãïŒ
"If repo is created in /Repos, path must be in the format /Repos/{folder}/{repo-name}."
ã/Repos ã«ãªããžããªãäœæããå Žåããã¹ã¯
/Repos/{ãã©ã«ã}/{ãªããžããªå}ã®åœ¢åŒã§ãªããã°ãªããªãã
ã€ãŸãã/Repos/my-repo ã®ãããªçŽäžé
眮ã¯äžå¯èœã§ãå¿
ãéã«1éå±€ã®ãã©ã«ããå¿
èŠã§ãã
ð ããŒã¿ãœãŒã¹: Databricks SDK for Python - Repos
ð ãã¹åœ¢åŒã®å¯åŠäžèЧ
| ãã¹åœ¢åŒ | å¯åŠ | 説æ |
|---|---|---|
/Repos/my-repo |
â äžå¯ | ãã©ã«ãéå±€ããªã |
/Repos/shared/my-repo |
â å¯èœ | å ±æãã©ã«ããæãã§ãã |
/Repos/production/my-repo |
â å¯èœ | æ¬çªçšãã©ã«ããæãã§ãã |
/Repos/user@email.com/my-repo |
â å¯èœ | å人ãã©ã«ãïŒããã©ã«ãïŒ |
/Workspace/Users/user@email.com/my-repo |
â å¯èœ | æ°ããGit foldersåœ¢åŒ |
ð¯ 解決çïŒå ±æãã©ã«ããäœæããŠãã®é äžã«é 眮ãã
ãReposçŽäžãã¯ç¡çã§ãã/Repos/shared/ ã®ãããªå
±æãã©ã«ããäœæãããã®é
äžã«ãªããžããªãé
眮ããããšã§ãè€æ°ãŠãŒã¶ãŒã§ã®å
±æå©çšãå¯èœã«ãªããŸãã
ð¡ ãã®æ¹æ³ã®ã¡ãªãã
ãã®æ¹æ³ã«ã¯ä»¥äžã®ãããªã¡ãªããããããŸãããŸããå人ã®ã¡ãŒã«ã¢ãã¬ã¹ãã©ã«ãã«äŸåããªããããç¹å®ãŠãŒã¶ãŒãéè·ããŠã圱é¿ãåããŸããããŸããæš©éèšå®ã«ããå šãŠãŒã¶ãŒãã¢ã¯ã»ã¹ã§ãããã¹ãçãã·ã³ãã«ã§èŠãããããšããå©ç¹ããããŸããããã«ãæ¬çªç°å¢ãšéçºç°å¢ãæç¢ºã«åé¢ã§ããŸãã
ð ïž å®è·µç·šïŒUIããæäœæ¥ã§èšå®ããæ¹æ³
ð¯ ã¹ããã1ïŒå ±æãã©ã«ãã®äœæ
ãŸããReposã®äžã«å ±æçšã®ãã©ã«ããäœæããŸãã
- Databricks Workspaceã«ãã°ã€ã³ããŸã
- å·ŠåŽã®ããã²ãŒã·ã§ã³ãã ãWorkspaceã ãã¯ãªãã¯ããŸã
- ãReposã ãã©ã«ããå±éããŸã
- Reposãã©ã«ããå³ã¯ãªãã¯ãããCreateãâãFolderã ãéžæããŸã
- ãã©ã«ãåã«
sharedãŸãã¯commonãªã©ãããããããååãå ¥åããŸã - ãCreateã ãã¿ã³ãã¯ãªãã¯ããŠäœæå®äºã§ã
ð äœæåŸã®ãã©ã«ãæ§é :
Workspace/
âââ Repos/
âââ shared/ ð ãããæ°èŠäœæïŒ
âââ user1@example.com/
âââ user2@example.com/
ð¡ ãã³ã: ãã©ã«ãåã¯
sharedãcommonãproductionãteamãªã©ãçšéãããããããååãããããã§ãã
ð¯ ã¹ããã2ïŒå ±æãã©ã«ãå ã«Gitãªããžããªã远å
次ã«ãäœæããå ±æãã©ã«ãã®äžã«GitHubãªããžããªã远å ããŸãã
- å
ã»ã©äœæãã
sharedãã©ã«ããå³ã¯ãªãã¯ããŸã - ãCreateãâãGit folderãïŒãŸãã¯ãRepoãïŒãéžæããŸã
- 以äžã®æ
å ±ãå
¥åããŸãïŒ
-
Git repository URL:
https://github.com/your-org/your-repo.git - Git provider: GitHubïŒèªåæ€åºãããŸãïŒ
- Git folder name: ãªããžããªåïŒèªåå ¥åãããŸãïŒ
-
Git repository URL:
- ãCreate Git folderã ãã¿ã³ãã¯ãªãã¯ããŸã
ð äœæåŸã®ãã©ã«ãæ§é :
Workspace/
âââ Repos/
âââ shared/
â âââ databricks-mart/ ð ããã«ãªããžããªãäœæãããïŒ
â âââ notebooks/
â âââ src/
âââ user1@example.com/
âââ user2@example.com/
â ïž æ³šæ: Git credentialsãæªèšå®ã®å Žåããã®æç¹ã§èšå®ãæ±ããããŸããUser Settings â Git integration ããäºåã«èšå®ããŠãããšã¹ã ãŒãºã§ãã
ð¯ ã¹ããã3ïŒä»ã®ãŠãŒã¶ãŒãžã®æš©éä»äž
ãªããžããªãäœæããããä»ã®ãŠãŒã¶ãŒãã¢ã¯ã»ã¹ã§ããããã«æš©éãèšå®ããŸãã
- äœæãããªããžããªïŒ
databricks-martïŒãå³ã¯ãªãã¯ããŸã - ãPermissionsã ãéžæããŸã
- æš©éèšå®ç»é¢ã§ä»¥äžãèšå®ããŸãïŒ
- Add users or groups ãã察象ãŠãŒã¶ãŒãŸãã¯ã°ã«ãŒãã远å
- é©åãªæš©éã¬ãã«ãéžæïŒåŸè¿°ã®è¡šãåç §ïŒ
- ãSaveã ãã¯ãªãã¯ããŠä¿åããŸã
ð æš©éã¬ãã«ã®éžã³æ¹
Gitæäœãè¡ãã«ã¯é©åãªæš©éãå¿ èŠã§ãã以äžã®è¡šãåèã«èšå®ããŠãã ããã
| æš©éã¬ãã« | ã§ããããš | æšå¥šçšé |
|---|---|---|
| CAN READ | é²èЧãã¯ããŒã³ããšã¯ã¹ããŒã | åç §ã®ã¿ã®ã¹ããŒã¯ãã«ã㌠|
| CAN RUN | äžèš + ããŒãããã¯å®è¡ | æ¬çªãªãã¬ãŒã¿ãŒãå®è¡æ åœè |
| CAN EDIT | äžèš + ãã¡ã€ã«ç·šéãååå€æŽ | éçºã¡ã³ããŒïŒGitæäœäžèŠã®å ŽåïŒ |
| CAN MANAGE | äžèš + GitæäœïŒpull/push/ãã©ã³ãåæ¿ïŒ | ð¥ éçºè ã«ã¯å¿ é ïŒ |
â ïž éèŠ: pullãpushããã©ã³ãåãæ¿ããªã©ã®Gitæäœãè¡ããŠãŒã¶ãŒã«ã¯ãå¿ ã CAN MANAGE æš©éãå¿ èŠã§ããCAN EDITã§ã¯äžååãªã®ã§æ³šæããŠãã ããã
ð ããŒã¿ãœãŒã¹: Databricks Git ãã©ã«ããŒã§ Git æäœãå®è¡ãã
ð¥ è€æ°ãŠãŒã¶ãŒã§ã®å ±åäœæ¥ãã¹ããã©ã¯ãã£ã¹
ðïž æšå¥šã¢ãŒããã¯ãã£
è€æ°ãŠãŒã¶ãŒã§Gitãªããžããªãå ±æããå Žåã以äžã®ãããªæ§æãããããã§ãã
Workspace/
âââ Repos/
â â
â âââ shared/ # ð æ¬çªã»å
±æçšãã©ã«ã
â â âââ databricks-mart/ # æ¬çªçšïŒmainãã©ã³ãåºå®ïŒ
â â âââ notebooks/ # â æš©é: CAN RUNïŒå®è¡ã®ã¿ïŒ
â â âââ src/
â â
â âââ user1@example.com/ # ð€ å人ãã©ã«ã
â â âââ databricks-mart/ # éçºçšïŒfeatureãã©ã³ãïŒ
â â âââ ... # â èªç±ã«ç·šéã»Gitæäœå¯èœ
â â
â âââ user2@example.com/ # ð€ å¥ã¡ã³ããŒã®å人ãã©ã«ã
â âââ databricks-mart/ # éçºçšïŒå¥ã®featureãã©ã³ãïŒ
â âââ ...
â
âââ Shared/ # â Git飿ºäžå¯
âââ common-libraries/ # éçãã¡ã€ã«ãMLflowå®éšãªã©
ð æšå¥šã¯ãŒã¯ãããŒ
Databrickså ¬åŒãæšå¥šããã³ã©ãã¬ãŒã·ã§ã³ãã¿ãŒã³ã¯ä»¥äžã®éãã§ãã
-
åéçºè
ãå人ãã©ã«ãã«ãªããžããªãã¯ããŒã³:
/Repos/user@email.com/repo-name - åèªãfeatureãã©ã³ããäœæããŠéçº: ä»ã®ã¡ã³ããŒã«åœ±é¿ãäžããã«äœæ¥ã§ããŸã
- 倿Žãcommit & push: GitHubã«å€æŽãããã·ã¥ããŸã
- GitHubã§Pull Requestãäœæ: ã³ãŒãã¬ãã¥ãŒãçµãŠmainã«ããŒãžããŸã
- å ±æãã©ã«ãã®ãªããžããªãpull: æ¬çªçšãªããžããªãææ°åããŸã
ð¡ ãã€ã³ã: åãGitãã©ã«ããè€æ°ãŠãŒã¶ãŒã§çŽæ¥ç·šéããããšã¯æšå¥šãããŠããŸããããããŠãŒã¶ãŒããã©ã³ããåãæ¿ãããšãåããã©ã«ããèŠãŠããå šå¡ã«åœ±é¿ããããã§ãã
ð ããŒã¿ãœãŒã¹: Databricks Git ãã©ã«ããŒã§ Git æäœãå®è¡ãã
ð ãŸãšã
| é ç® | å 容 |
|---|---|
| ReposçŽäžãžã®é 眮 | â 仿§äžäžå¯èœïŒUIã»APIåããïŒ |
| æ£ãããã¹åœ¢åŒ | /Repos/{folder}/{repo-name} |
| æšå¥šæ¹æ³ |
/Repos/shared/ ãã©ã«ããäœæããŠãã®é
äžã«é
眮 |
| Gitæäœã«å¿ èŠãªæš©é | CAN MANAGE |
| èšå®æ¹æ³ | â UIããæäœæ¥ã§ç°¡åã«ã§ããïŒ |
ð¯ çµè«
ReposçŽäžã¯ç¡çã§ããã/Repos/shared/ é
äžãªãåé¡ãªãå®çŸã§ããŸãïŒ
UIããæ°ã¯ãªãã¯ã§èšå®ã§ããAPIãã¹ã¯ãªããã¯å¿ é ã§ã¯ãããŸãããå ±æãã©ã«ããäœæããŠæš©éãé©åã«èšå®ããã°ãè€æ°ãŠãŒã¶ãŒã§ã®å ±åäœæ¥ãå¯èœã«ãªããŸãã
ð ãããã質å
Q: Shared ãã©ã«ãïŒ/Workspace/SharedïŒã«Gitãªããžããªã眮ããŸããïŒ
A: ãããã/Workspace/Shared ãã©ã«ãã¯èšèšäžGit飿ºã«å¯Ÿå¿ããŠããŸããã
Git飿ºãå¿
èŠãªå Žåã¯ã/Repos/shared/ ïŒReposé
äžã®å
±æãã©ã«ãïŒã䜿çšããŠãã ãããååã䌌ãŠããŸããããŸã£ããå¥ã®å Žæã§ãã
ð ããŒã¿ãœãŒã¹: ã¯ãŒã¯ã¹ããŒã¹ãã©ãŠã¶
Q: å ±æãã©ã«ãã®ååã¯äœã§ãããã§ããïŒ
A: ã¯ããä»»æã®ååãä»ããããŸãã
sharedãcommonãproductionãteamãproject-name ãªã©ãããŒã ã§ããããããååãéžãã§ãã ããã
Q: æ¢åã®å人ãã©ã«ãã«ãããªããžããªãå ±æãã©ã«ãã«ç§»åã§ããŸããïŒ
A: çŽæ¥ã®ç§»åã¯ã§ããŸããã
å ±æãã©ã«ãã«æ°ãããªããžããªãã¯ããŒã³ããå¿ èŠã«å¿ããŠå人ãã©ã«ãã®ãã®ãåé€ããŠãã ãããGitå±¥æŽã¯GitHubåŽã«ããããã倱ãããããšã¯ãããŸããã
ð¬ ãã®èšäºã圹ã«ç«ã£ãã LGTM ãé¡ãããŸãïŒ ð
ð 質åã»ãã£ãŒãããã¯ã¯ã³ã¡ã³ãæ¬ãžïŒ
ãã®èšäºã®å 容ãåç»ã§ã解説ããŠããŸãããã²ã芧ãã ããïŒ
