Comparteix via


Migra los recursos existentes a un paquete

Al construir su conjunto, puede querer incluir recursos de Databricks que ya existen y están totalmente configurados en el área de trabajo remota. Puede usar el comando de la CLI bundle generate de Databricks para generar rápidamente la configuración en su paquete para aplicaciones existentes, paneles, trabajos y canalizaciones. Consulte generación de conjuntos de databricks. La configuración que puede copiar y pegar manualmente en los archivos de configuración de recursos en lote está disponible en Databricks UI para ciertos recursos, como tareas y procesos.

Después de haber generado la configuración de un recurso en la agrupación e implementado el lote, use el bundle deployment bind comando para enlazar un recurso de la agrupación al recurso correspondiente del área de trabajo. Consulte enlace de implementación de conjuntos de databricks.

En esta página se proporcionan ejemplos sencillos que usan la CLI o la interfaz de usuario de Databricks para generar o recuperar la configuración de recursos de agrupación.

Para más información sobre las definiciones de recursos en agrupaciones, consulte Recursos de conjuntos de recursos de Databricks.

Generación de una configuración de canalización o trabajo existente mediante la CLI de Databricks

Para generar una configuración de agrupación mediante programación para un trabajo o canalización existente:

  1. Recupere el identificador del trabajo o canalización existente desde el panel lateral de Detalles del trabajo o Detalles de canalización en la interfaz de usuario. Como alternativa, use la CLI databricks jobs list o el comando databricks pipelines list-pipelines de Databricks.

  2. Ejecute el comando bundle generate job o bundle generate pipelinela CLI de Databricks, estableciendo el identificador de canalización:

    databricks bundle generate job --existing-job-id 6565621249
    
    databricks bundle generate pipeline --existing-pipeline-id 6565621249
    

    Este comando crea un archivo de configuración de agrupación para el recurso en la carpeta del resources lote y descarga los artefactos a los que se hace referencia en la src carpeta.

También puede generar la configuración de un panel existente. Consulte el panel de generación de conjuntos de databricks.

Recuperación de una definición de trabajo existente mediante la interfaz de usuario

Para recuperar la representación de YAML de una definición de trabajo existente desde la interfaz de usuario del área de trabajo de Azure Databricks:

  1. En la barra lateral del área de trabajo de Azure Databricks, haga clic en Trabajos y canalizaciones.

  2. Opcionalmente, seleccione los filtros Trabajos y Propiedad de mí .

  3. Haga clic en el vínculo Nombre del trabajo.

  4. Junto al botón Ejecutar ahora , haga clic en el kebab y, a continuación, haga clic en Editar como YAML.

  5. Copie el archivo YAML y agréguelo al archivo del databricks.yml paquete, o cree un archivo de configuración para su trabajo en el directorio resources de su proyecto de paquete y haga referencia a él desde su archivo databricks.yml. Consulte recursos.

  6. Descargue y agregue cualquier archivo y cuaderno de Python a los que se hace referencia en el trabajo existente a la fuente del proyecto del conjunto. Normalmente, los artefactos del paquete se encuentran en el directorio src de un paquete.

    Sugerencia

    Puede exportar un cuaderno existente desde un área de trabajo de Azure Databricks al formato .ipynb haciendo clic en Archivo > Exportar > Cuaderno de IPython desde la interfaz de usuario del cuaderno de Azure Databricks.

    Después de agregar los cuadernos, los archivos de Python y otros artefactos a la agrupación, cambie las referencias a estos archivos en la definición del trabajo a su ubicación local. Por ejemplo, si tenías un archivo de configuración hello_job.job.yml en la carpeta resources de tu paquete, y descargaste un cuaderno denominado hello.ipynb en la carpeta src de tu paquete, el contenido del archivo hello_job.job.yml sería el siguiente:

    resources:
      jobs:
        hello_job:
          name: hello_job
          tasks:
            - task_key: hello_task
              notebook_task:
                notebook_path: ../src/hello.ipynb
    

Para obtener más información sobre cómo ver trabajos como código en la interfaz de usuario, consulte Visualización de trabajos como código.

Recuperación de una definición de canalización existente mediante la interfaz de usuario

Para recuperar la representación de YAML de una definición de canalización existente desde la interfaz de usuario del área de trabajo de Azure Databricks:

  1. En la barra lateral del área de trabajo de Azure Databricks, haga clic en Trabajos y canalizaciones.

  2. Opcionalmente, seleccione el filtro Canalizaciones .

  3. Haz clic en el Nombre de la canalización.

  4. Junto al botón Desarrollo , haga clic en el icono de menú Kebab y, a continuación, haga clic en Ver configuración YAML.

  5. Copie el YAML de la definición de canalización en el cuadro de diálogo YAML de configuración de la canalización al portapapeles local haciendo clic en el icono de copia.

  6. Agregue el YAML que copió al archivo del databricks.yml paquete o cree un archivo de configuración para la canalización en la carpeta resources de su proyecto de paquete y hágalos referenciarse desde su archivo databricks.yml. Consulte recursos.

  7. Descargue y agregue los archivos y cuadernos de Python a los que se hace referencia al origen del proyecto del lote. Normalmente, los artefactos del paquete se encuentran en el directorio src de un paquete.

    Sugerencia

    Puede exportar un cuaderno existente desde un área de trabajo de Azure Databricks al formato .ipynb haciendo clic en Archivo > Exportar > Cuaderno de IPython desde la interfaz de usuario del cuaderno de Azure Databricks.

    Después de agregar los cuadernos, los archivos de Python y otros artefactos al paquete, asegúrese de que la definición de la canalización los referencia correctamente. Por ejemplo, para un cuaderno denominado hello.ipynb que se encuentra en el directorio src/ de la agrupación:

    resources:
      pipelines:
        hello_pipeline:
          name: hello_pipeline
          libraries:
            - notebook:
                path: ../src/hello.ipynb
    

Asocia un recurso con su contraparte remota

Normalmente después de agregar un recurso a la agrupación, querrá asegurarse de que el recurso de la agrupación y el recurso existente del área de trabajo permanecen sincronizados. El bundle deployment bind comando permite vincularlos. Si enlaza un recurso, el recurso vinculado de Azure Databricks en el área de trabajo se actualiza según la configuración definida en el paquete en el siguiente bundle deploy.

Para obtener más información y detalles sobre bundle deployment bind la compatibilidad con recursos, consulte enlace de implementación de conjuntos de databricks.

El siguiente comando enlaza el recurso hello_job a su homólogo remoto en el área de trabajo. Se solicita una confirmación para asegurar que las actualizaciones de la configuración del trabajo en el paquete se apliquen al trabajo remoto correspondiente cuando se implemente la agrupación.

databricks bundle deployment bind hello_job 6565621249

Para quitar el vínculo entre un recurso de paquete y su homólogo en el área de trabajo, utilice el comando bundle deployment unbind. Consulte databricks bundle deployment unbind(Desenlace de implementación de conjuntos de databricks).

databricks bundle deployment unbind hello_job

Migración de un recurso que existe en dos áreas de trabajo

En algunas configuraciones, es posible que exista el mismo recurso en más de una área de trabajo. Por ejemplo, el mismo trabajo podría estar en un área de trabajo de desarrollo y producción. Si el trabajo existente se agrega a la agrupación y, a continuación, la agrupación se implementa en una de estas áreas de trabajo, se crean trabajos duplicados. Para evitar esto, use databricks bundle generate y databricks bundle deployment bind juntos:

  1. Defina los destinos de desarrollo y producción en su paquete databricks.yml.

  2. Genere la configuración de agrupación para el recurso (en este ejemplo, un trabajo) en el destino de desarrollo:

    databricks bundle generate job --existing-job-id <dev_job_id> –-target dev
    
  3. Es probable que la configuración del recurso en "prod" sea diferente de la configuración del recurso en "dev", por lo que ahora que ha generado la configuración del recurso, defina la configuración específica de producción para el recurso (en el destino "prod") dentro del paquete.

    targets:
      dev:
        default: true
        #...
      prod:
        #...
        resources:
          jobs:
            my_job:
              # Job prod settings
    
  4. Enlace el recurso del paquete al trabajo existente en los destinos de desarrollo y producción.

    databricks bundle deployment bind my_job <dev_job_id> --target dev
    
    databricks bundle deployment bind my_job <prod_job_id> --target prod
    

La agrupación ahora se puede implementar en los dos entornos:

databricks bundle deploy --target dev
databricks bundle deploy --target prod