Memigrasikan sumber daya yang ada ke bundel

Saat membuat bundel, Anda mungkin ingin menyertakan sumber daya Databricks yang sudah ada dan sepenuhnya dikonfigurasi di ruang kerja jarak jauh. Anda dapat menggunakan perintah Databricks CLI bundle generate untuk membuat konfigurasi secara otomatis dengan cepat di bundel Anda untuk aplikasi, dasbor, pekerjaan, dan alur yang ada. Lihat databricks bundle generate. Konfigurasi yang dapat Anda salin dan tempel secara manual ke dalam file konfigurasi sumber daya bundel tersedia di UI Databricks untuk beberapa sumber daya, seperti pekerjaan dan alur.

Setelah Anda membuat konfigurasi untuk sumber daya di bundel Anda dan menyebarkan bundel, gunakan bundle deployment bind perintah untuk mengikat sumber daya dalam bundel Anda ke sumber daya yang sesuai di ruang kerja. Lihat pengikatan penyebaran bundel databricks.

Halaman ini menyediakan contoh sederhana yang menggunakan Databricks CLI atau UI untuk menghasilkan atau mengambil konfigurasi sumber daya bundel. Untuk mendetilkan definisi sumber daya dalam bundel, lihat Sumber daya Bundel Otomasi Deklaratif.

Petunjuk / Saran

Anda dapat menambahkan sumber daya yang ada ke bundel di ruang kerja menggunakan UI Databricks. Lihat Menambahkan sumber daya yang sudah ada ke bundel.

Membuat konfigurasi untuk pekerjaan atau alur yang ada menggunakan Databricks CLI

Untuk menghasilkan konfigurasi bundel secara terprogram untuk pekerjaan atau alur yang ada:

  1. Ambil ID tugas atau alur yang ada dari panel samping Detail tugas atau Detail alur untuk tugas atau alur di antarmuka pengguna. Atau, gunakan Databricks CLI databricks jobs list atau databricks pipelines list-pipelines perintah.

  2. Jalankan perintah bundle generate job atau bundle generate pipelineDatabricks CLI, setel ID pekerjaan atau alur:

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

    Perintah ini membuat file konfigurasi bundel untuk sumber daya di folder bundel resources dan mengunduh artefak yang dirujuk ke src folder.

Anda juga dapat menghasilkan konfigurasi untuk dasbor yang sudah ada. Lihat databricks bundle generate dashboard.

Membuat konfigurasi untuk alur Spark yang ada

Untuk menghasilkan konfigurasi bundel secara terprogram untuk proyek Spark Declarative Pipelines (SDP) (memiliki spark-pipeline.yml file):

  1. Salin atau pindahkan seluruh proyek alur Spark ke src folder bundel Anda.

  2. Jalankan perintah berikut:

    databricks pipelines generate --existing-pipeline-dir src/my_pipeline
    

Untuk informasi lebih lanjut, lihat databricks pipelines generate.

Mengambil definisi pekerjaan yang sudah ada menggunakan UI

Untuk mengambil representasi YAML dari definisi pekerjaan yang ada dari antarmuka pengguna ruang kerja Azure Databricks:

  1. Di bilah sisi ruang kerja Azure Databricks Anda, klik Tugas & Pipeline.

  2. Secara opsional, pilih filter Pekerjaan dan Dimiliki oleh saya .

  3. Klik tautan Nama pekerjaan Anda.

  4. Di samping tombol Jalankan sekarang , klik kebab, lalu klik Edit sebagai YAML.

  5. Salin YAML dan tambahkan ke file bundel databricks.yml Anda, atau buat file konfigurasi untuk pekerjaan Anda di resources direktori proyek bundel Anda dan referensikan dari file Anda databricks.yml . Lihat sumber daya.

  6. Unduh dan tambahkan file dan notebook Python apa pun yang dirujuk dalam pekerjaan yang ada ke sumber proyek bundel. Biasanya artefak bundel terletak di src direktori dalam bundel.

    Petunjuk / Saran

    Anda bisa mengekspor buku catatan yang sudah ada dari ruang kerja Azure Databricks ke dalam .ipynb format dengan mengklik Ekspor > File > IPython Notebook dari antarmuka pengguna buku catatan Azure Databricks.

    Setelah Anda menambahkan buku catatan, file Python, dan artefak lainnya ke bundel, ubah referensi ke file-file ini dalam definisi pekerjaan Anda ke lokasi lokalnya. Misalnya, jika Anda memiliki hello_job.job.yml file konfigurasi di resources folder bundel Anda, dan Anda mengunduh buku catatan bernama hello.ipynb ke src folder bundel Anda, konten hello_job.job.yml file adalah sebagai berikut:

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

Untuk informasi selengkapnya tentang menampilkan pekerjaan sebagai kode di UI, lihat Menampilkan pekerjaan sebagai kode.

Mengambil definisi alur yang ada menggunakan UI

Untuk mengambil representasi YAML dari definisi alur yang ada dari antarmuka pengguna ruang kerja Azure Databricks:

  1. Di bilah sisi ruang kerja Azure Databricks Anda, klik Tugas & Pipeline.

  2. Secara opsional, pilih filter Alur .

  3. Klik Nama alur Anda.

  4. Di samping tombol Pengembangan , klik ikon menu Kebab., lalu klik Tampilkan PENGATURAN YAML.

  5. Salin YAML definisi alur kerja dalam dialog YAML Pengaturan Alur ke clipboard lokal Anda dengan klik ikon salin.

  6. Tambahkan YAML yang Anda salin ke file bundel databricks.yml Anda, atau buat file konfigurasi untuk alur Anda di resources folder proyek bundel Anda dan referensikan dari file Anda databricks.yml . Lihat sumber daya.

  7. Unduh dan tambahkan file dan notebook Python apa pun yang dirujuk ke sumber proyek bundel. Biasanya artefak bundel terletak di src direktori dalam bundel.

    Petunjuk / Saran

    Anda bisa mengekspor buku catatan yang sudah ada dari ruang kerja Azure Databricks ke dalam .ipynb format dengan mengklik Ekspor > File > IPython Notebook dari antarmuka pengguna buku catatan Azure Databricks.

    Setelah Anda menambahkan buku catatan, file Python, dan artefak lainnya ke bundel, pastikan definisi alur Anda mereferensikannya dengan benar. Misalnya, untuk buku catatan bernama hello.ipynb yang ada di direktori src/ dari bundel:

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

Mengikat sumber daya ke mitra jarak jauhnya

Biasanya setelah Anda menambahkan sumber daya ke bundel, Anda ingin memastikan sumber daya di bundel Anda dan sumber daya yang ada di ruang kerja tetap sinkron. Perintah ini bundle deployment bind memungkinkan Anda untuk menautkannya. Jika Anda mengaitkan sumber daya, sumber daya Azure Databricks yang ditautkan di ruang kerja diperbarui berdasarkan konfigurasi yang ditentukan dalam bundel pada saat berikutnya bundle deploy.

Untuk informasi selengkapnya tentang bundle deployment bind dan detail dukungan sumber daya, lihat pengikatan penyebaran bundel Databricks.

Perintah berikut mengikat sumber daya hello_job ke mitra jarak jauhnya di ruang kerja. Ini menanyakan konfirmasi untuk memastikan bahwa pembaruan pada konfigurasi pekerjaan dalam bundel dapat diterapkan ke pekerjaan jarak jauh yang sesuai saat bundel tersebut akan dideploy berikutnya.

databricks bundle deployment bind hello_job 6565621249

Untuk menghapus tautan antara sumber daya bundel dan mitranya di ruang kerja, gunakan bundle deployment unbind. Lihat pembatalan ikatan penyebaran bundel databricks.

databricks bundle deployment unbind hello_job

Memigrasikan sumber daya yang ada di dua ruang kerja

Dalam beberapa penyiapan, sumber daya yang sama mungkin ada di lebih dari satu ruang kerja. Misalnya, pekerjaan yang sama mungkin berada dalam ruang kerja pengembangan dan produksi. Jika pekerjaan yang ada ditambahkan ke bundel dan kemudian bundel disebarkan ke salah satu ruang kerja ini, pekerjaan duplikat dibuat. Untuk mencegah hal ini, gunakan databricks bundle generate dan databricks bundle deployment bind bersama-sama:

  1. Tentukan target pengembangan dan produksi dalam bundel databricks.yml Anda.

  2. Hasilkan konfigurasi bundel untuk sumber daya (dalam contoh ini, pekerjaan) di target dev:

    databricks bundle generate job --existing-job-id <dev_job_id> –-target dev
    
  3. Konfigurasi sumber daya dalam prod kemungkinan akan berbeda dari konfigurasi sumber daya dalam pengembangan, jadi sekarang Setelah Anda membuat konfigurasi untuk sumber daya, tentukan pengaturan khusus produksi untuk sumber daya (dalam target prod) dalam bundel.

    targets:
      dev:
        default: true
        #...
      prod:
        #...
        resources:
          jobs:
            my_job:
              # Job prod settings
    
  4. Mengaitkan sumber daya dalam paket ke pekerjaan yang ada di lingkungan dev dan prod:

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

Bundel sekarang dapat disebarkan ke dua lingkungan:

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