Para sus cargas de trabajo centradas en datos, Databricks ofrece la mejor experiencia de desarrollo de su clase y le brinda las herramientas que necesita para cumplir con las mejores prácticas de desarrollo de código. Utilizar Git para management de versiones, colaboración y CI/CD es una de esas mejores prácticas. Los clientes pueden trabajar con sus repositorios de Git en Databricks a través de la función ‘Repos’ que proporciona un cliente de Git visible que admite operaciones comunes de Git, como clonación, compromiso y envío, extracción, administración de sucursales, comparación visible de diferencias y más.
Clona solo el contenido que necesitas
Hoy, nos complace compartir que Databricks Repos ahora es appropriate con Sparse Checkout, una configuración del lado del cliente que le permite clonar y trabajar solo con un subconjunto de los directorios de sus repositorios en Databricks. Esto es especialmente útil cuando se trabaja con monorepos. Un monrepo es un repositorio único que contiene todo el código de su organización y puede contener muchos proyectos lógicamente independientes administrados por diferentes equipos. Monorepos a menudo puede volverse bastante grande y más allá del tamaño de Databricks Repos admitido limites.
Con Sparse Checkout, puede clonar solo el contenido en el que necesita trabajar en Databricks, como una canalización de ETL o un código de entrenamiento del modelo de aprendizaje automático, mientras omite las partes irrelevantes, como la base de código de su aplicación móvil. Al clonar solo la parte relevante de su base de código, puede mantenerse dentro de los límites de Databricks Repos y reducir el desorden del contenido innecesario.
Empezando
Usar Sparse Checkout es easy:
- Primero, deberá agregar su token de acceso private (PAT) del proveedor de Git a Databricks, lo que se puede hacer en la interfaz de usuario a través de Configuración> Configuración de usuario> Integración de Git o mediante programación a través de API de credenciales Git de Databricks
- A continuación, cree un Repo y marque el ‘Modo de pago disperso’ en Configuración avanzada
- Especifique el patrón que desea incluir en el clon
Para ilustrar Sparse Checkout, considere esto repositorio de muestra con la siguiente estructura de directorios
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── RUNME.md
├── SECURITY.md
├── config
│ ├── utility.yaml
│ ├── configure_notebook.py
│ ├── portfolio.txt
│ └── stopwords.txt
├── photos
│ ├── 1_heatmap.png
│ ├── 1_hyperopts_lda.png
│ ├── 1_scores.png
│ ├── 1_wordcloud.png
│ ├── 2_heatmap.png
│ ├── 2_scores.png
│ ├── 2_walktalk.png
│ ├── fs-lakehouse-brand-clear.png
│ ├── fs-lakehouse-brand.png
│ ├── news_contribution.png
│ └── reference_architecture.png
├── notebooks
│ ├── data_prep
│ │ ├── 00_esg_context.py
│ │ └── 01_csr_download.py
│ └── scoring
│ ├── 02_csr_scoring.py
│ ├── 03_gdelt_download.py
│ └── 04_gdelt_scoring.py
├── necessities.txt
├── exams
│ ├── __init__.py
│ └── tests_utils.py
├── tf
│ └── modules
│ └── databricks-division-clusters
│ ├── README.md
│ ├── cluster-insurance policies.tf
│ ├── clusters.tf
│ ├── foremost.tf
│ ├── supplier.tf
│ ├── sql-endpoint.tf
│ ├── customers-teams.tf
│ └── variables.tf
└── utils
├── __init__.py
├── gdelt_download.py
├── nlp_utils.py
├── scraper_utils.py
└── spark_utils.py
Ahora diga que solo desea clonar un subconjunto de este repositorio en Databricks, diga las siguientes carpetas 'notebooks/data_prep', 'utils'
y 'exams'
. Para hacerlo, puede especificar estos patrones separados por nueva línea al crear el Repo.
Esto dará como resultado la inclusión de los directorios y archivos en el clon, como se muestra en la imagen a continuación. Se incluyen los archivos en la raíz del repositorio y el contenido de las carpetas ‘exams’ y ‘utils’. Dado que especificamos ‘notebooks/data_prep’ en el patrón anterior, solo se incluye esta carpeta; ‘notebooks/scoring’ no está clonado. Databricks Repos admite ‘Patrones de cono’ para definir patrones de pago dispersos. Vea más ejemplos en nuestro documentación. Para obtener más detalles sobre el patrón de cono, consulte Documentación de Git o esto Weblog de GitHub
También puede realizar los pasos anteriores a través de la API de Repos. Por ejemplo, para crear un Repo con el patrón Sparse Checkout anterior, realice la siguiente llamada a la API:
POST /api/2.0/repos
{
"url": "https://github.com/vaibhavsethi-db/esg-scoring",
"supplier": "gitHub",
"path": "/Repos/()/()/esg-scoring",
"sparse_checkout": {
"patterns": ("pocket book/data_prep", "exams", "utils")
}
}
-
Editar código y realizar operaciones de Git
Ahora puede editar archivos existentes, confirmarlos y enviarlos, y realizar otras operaciones de Git desde la interfaz de Repos. Al crear nuevas carpetas de archivos, debe asegurarse de que estén incluidos en el patrón de cono que especificó para ese repositorio.
La inclusión de una nueva carpeta fuera del patrón de cono da como resultado un error durante la operación de envío y confirmación. Para rectificarlo, edite el patrón de cono de su configuración de Repo para incluir la nueva carpeta que está tratando de confirmar y enviar.
¿Listo para comenzar? Profundice en los repositorios de Databricks documentación ¡y pruébalo!