Konfigurasikan versi lingkungan untuk pipeline

Important

Versi lingkungan untuk pipa Lakeflow tersedia dalam Pratinjau Publik.

Versi lingkungan menetapkan versi bahasa Python dan sekumpulan pustaka Python prainstal yang tersedia untuk kode Python di pipeline Anda. Dependensi eksternal apa pun yang Anda tambahkan ke pipeline akan dilapiskan di atas dasar ini.

Versi lingkungan memisahkan runtime Python pipeline Anda dari versi Databricks Runtime yang digunakan pipeline Anda untuk berjalan. Saat versi lingkungan diatur, peningkatan Databricks Runtime tidak mengubah versi bahasa Python Anda atau versi pustaka yang telah diinstal sebelumnya. Runtime Python juga konsisten dengan job tanpa server dan notebook yang menggunakan versi lingkungan yang sama. Untuk menemukan versi Databricks Runtime saat ini untuk alur Lakeflow, lihat Catatan rilis alur Lakeflow dan proses peningkatan rilis.

Databricks secara otomatis memigrasikan pipeline yang memenuhi syarat ke versi lingkungan. Lihat Migrasi otomatis.

Important

Pipeline dengan versi lingkungan menjalankan kode Python melalui Spark Connect, yang dapat mengubah perilaku beberapa kode pipeline. Untuk daftar lengkap keterbatasan dan perubahan perilaku, lihat Kompatibilitas versi Lingkungan.

Persyaratan

Versi lingkungan memiliki persyaratan berikut:

  • Alur harus menggunakan Katalog Unity. Alur metastore Apache Hive tidak didukung.

Versi lingkungan yang didukung

Alur Lakeflow mendukung lingkungan versi 3 dan 4 pada komputasi tanpa server dan klasik. Untuk versi bahasa Python dan daftar lengkap pustaka Python yang telah diinstal sebelumnya yang tersedia di setiap versi, lihat referensi versi environment.

Migrasi otomatis

Databricks secara otomatis memigrasikan pipeline yang memenuhi syarat ke versi lingkungan. Migrasi terjadi pada pembaruan berikutnya pada pipeline, tidak memerlukan langkah manual apa pun, dan mencakup langkah pengamanan berikut:

  • Perilaku diperiksa sebelum migrasi. Databricks memindai pipeline Anda untuk pola kode yang akan berperilaku berbeda di bawah Spark Connect dan membandingkan rencana output pipeline sebelum dan sesudah migrasi. Lihat Kompatibilitas versi Lingkungan.
  • Migrasi yang gagal akan otomatis dikembalikan. Jika pembaruan yang dimigrasi gagal karena alasan apa pun, pembaruan tersebut dihentikan sebelum data apa pun ditulis, dan pipeline secara otomatis kembali ke runtime sebelumnya pada pembaruan berikutnya. Tidak diperlukan tindakan.
  • Pengaturan eksplisit Anda selalu dihormati. Jika Anda mengatur environment_version diri, Databricks tidak pernah menggantikannya.

Setelah pipeline berhasil dimigrasikan, pipeline tersebut akan berjalan pada versi lingkungan tersebut selanjutnya. Anda dapat melihat versi yang dipilih di pengaturan pipeline, GetPipeline respons API, dan runtime_details log kejadian.

Apa yang tidak dimigrasikan secara otomatis

Pipeline tidak dimigrasikan secara otomatis jika salah satu dari berikut ini berlaku:

Pipeline yang tidak dimigrasi secara otomatis tetap berjalan pada runtime Python sebelumnya tanpa perubahan. Anda dapat mengaktifkan versi lingkungan secara mandiri setelah pipeline memenuhi persyaratan.

Aktifkan versi lingkungan secara manual

Migrasi otomatis mencakup sebagian besar pipeline. Anda juga dapat mengonfigurasi versi lingkungan secara eksplisit, misalnya untuk bermigrasi lebih cepat atau untuk menyematkan versi tertentu, melalui UI editor pipeline, API REST Pipelines, atau Bundle Automasi Deklaratif.

Sebelum Anda mengaktifkan versi lingkungan secara eksplisit, periksa apakah pipeline Anda kompatibel dengan Spark Connect. Jika Databricks mendeteksi bahwa mengaktifkan versi tersebut akan mengubah perilaku pipeline Anda, pembaruan akan gagal sebelum data apa pun ditulis, dengan pesan error yang menunjukkan perbedaan yang perlu diatasi.

Mengaktifkan melalui UI

  1. Dari editor alur, klik Pengaturan.
  2. Di bawah Pipeline Environment, pilih ikon pensil.Edit environment.
  3. Pilih versi lingkungan dari daftar dropdown.
  4. Simpan pengaturan alur.

Dependensi eksternal yang ditambahkan di bagian Pipeline Environment ditambahkan di atas pustaka yang disertakan dalam versi lingkungan yang dipilih. Lihat Mengelola dependensi Python untuk alur.

Mengaktifkan melalui API

Pipelines REST API menerima blok environment saat pembuatan dan pembaruan pipeline. Autentikasi Token Akses Pribadi harus diaktifkan untuk ruang kerja.

Untuk membuat pipeline dengan versi lingkungan:

curl --request POST \
  --url 'https://<workspace-host>/api/2.0/pipelines' \
  --header 'Authorization: Bearer <personal-access-token>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "name": "<pipeline-name>",
    "catalog": "<catalog>",
    "schema": "<schema>",
    "channel": "CURRENT",
    "environment": {
      "environment_version": "4",
      "dependencies": [
        "simplejson==3.19.*"
      ]
    }
  }'

Untuk mengatur versi lingkungan pada alur yang ada, kirim blok yang sama environment dengan PUT /api/2.0/pipelines/<pipeline-id>.

Mengaktifkan melalui Bundel Otomatisasi Deklaratif

Saat membuat alur menggunakan Bundel Otomatisasi Deklaratif, Anda dapat mengatur versi lingkungan dalam definisi YAML alur.

  1. Pastikan Databricks CLI Anda berada di versi v0.294.0 atau yang lebih baru. Jika tidak, tingkatkan dengan mengikuti panduan penginstalan.
  2. Siapkan bundel dengan mengikuti tutorial bundel pipeline.
  3. Temukan file YAML pipeline dalam bundel Anda, biasanya <bundle-folder>/resources/<pipeline_name>_pipeline.yml.
  4. Atur field environment_version dan dependencies di YAML pipeline:
resources:
  pipelines:
    my_pipeline:
      name: my_pipeline
      catalog: ${var.catalog}
      schema: ${var.schema}
      root_path: '../src/my_pipeline'
      libraries:
        - glob:
            include: ../src/my_pipeline/transformations/**
      environment:
        environment_version: 4
        dependencies:
          - --editable ${workspace.file_path}

Periksa versi lingkungan pada pipeline

Untuk memeriksa versi lingkungan mana yang dijalankan oleh pipeline, baik Anda mengaturnya secara eksplisit atau Databricks memilihnya selama migrasi otomatis:

  • UI: Buka pengaturan alur dan periksa bagian Lingkungan Alur , atau periksa panel JSON untuk bidang tersebut environment.environment_version .
  • API: Panggil GET /api/2.0/pipelines/<pipeline-id> dan cari environment.environment_version dalam respons. Ini menunjukkan versi yang Anda atur secara eksplisit; Untuk melihat versi yang dipilih oleh migrasi otomatis, gunakan log peristiwa di bawah ini.
  • Log kejadian: Periksa event yang runtime_details melaporkan versi lingkungan yang digunakan untuk pembaruan. Lihat Detail untuk acara runtime_details.

Nonaktifkan atau kembalikan versi lingkungan

Anda tidak perlu mengembalikan migrasi otomatis secara manual. Migrasi yang gagal akan otomatis dikembalikan pada pembaruan berikutnya. Saat versi lingkungan dihapus, alur kembali ke konfigurasi runtime Python sebelumnya. Jika terjadi sesuatu yang tak terduga, hubungi dukungan Azure Databricks.

Sumber daya tambahan