Bagikan melalui


Databricks CLI (warisan)

Penting

Dokumentasi ini telah dihentikan dan mungkin tidak diperbarui.

Databricks merekomendasikan agar Anda menggunakan Databricks CLI versi 0.205 atau lebih tinggi alih-alih Databricks CLI warisan versi 0.18 atau di bawahnya. Databricks CLI versi 0.18 atau yang lebih baru tidak didukung oleh Databricks. Untuk informasi tentang Databricks CLI versi 0.205 ke atas, lihat Apa itu Databricks CLI?.

Untuk bermigrasi dari Databricks CLI versi 0.18 atau di bawahnya ke Databricks CLI versi 0.205 atau lebih tinggi, lihat migrasi CLI Databricks.

CLI Databricks warisan berada dalam status Eksperimental. Databricks tidak berencana untuk mengembangkan fitur baru pada CLI Databricks warisan saat ini.

CLI Databricks warisan tidak didukung melalui saluran Dukungan Databricks. Untuk memberikan umpan balik, mengajukan pertanyaan, dan melaporkan masalah, gunakan tab Masalah di Antarmuka Baris Perintah untuk repositori Databricks di GitHub.

Antarmuka baris perintah Databricks versi lama (juga dikenal sebagai CLI Databricks versi lama) adalah perangkat yang menyediakan antarmuka yang mudah digunakan untuk mengotomatiskan platform Azure Databricks melalui terminal, prompt perintah, atau skrip otomatisasi Anda.

Persyaratan

  • Python 3 - 3.6 ke atas
  • Python 2 - 2.7.9 ke atas

Penting

Di macOS, penginstalan Python 2 default tidak menerapkan protokol TLSv1_2, dan menjalankan CLI Databricks warisan dengan penginstalan Python ini menghasilkan kesalahan: AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'. Gunakan Homebrew untuk menginstal versi Python yang memiliki ssl.PROTOCOL_TLSv1_2.

Batasan

Menggunakan CLI Databricks versi lama dengan kontainer penyimpanan yang diaktifkan firewall tidak didukung. Databricks merekomendasikan Anda menggunakan Databricks Connect atau az storage.

Menyiapkan CLI

Bagian ini menjelaskan cara menyiapkan CLI Databricks versi lama.

Menginstal atau memperbarui CLI

Bagian ini menjelaskan cara menginstal atau memperbarui komputer pengembangan Anda untuk menjalankan CLI Databricks warisan.

Pasang CLI

Jalankan pip install databricks-cli dengan menggunakan versi pip penginstalan Python yang sesuai:

pip install databricks-cli

Memperbarui CLI

Jalankan pip install databricks-cli --upgrade dengan menggunakan versi pip penginstalan Python yang sesuai:

pip install databricks-cli --upgrade

Untuk mencantumkan versi CLI Databricks warisan yang saat ini diinstal, jalankan databricks --version:

databricks --version

Menyiapkan autentikasi

Sebelum dapat menjalankan perintah CLI Databricks warisan, Anda harus menyiapkan autentikasi antara CLI Databricks warisan dan Azure Databricks. Bagian ini menjelaskan cara menyiapkan autentikasi untuk CLI Databricks lama.

Untuk mengautentikasi dengan CLI Databricks lama, Anda dapat menggunakan token akses personal Databricks atau token ID Microsoft Entra (sebelumnya disebut Azure Active Directory).

Catatan

Sebagai praktik terbaik keamanan, saat Anda mengautentikasi dengan alat, sistem, skrip, dan aplikasi otomatis, Databricks merekomendasikan agar Anda menggunakan token akses pribadi milik perwakilan layanan, bukan pengguna ruang kerja. Untuk membuat token untuk perwakilan layanan, lihat Mengelola token untuk perwakilan layanan.

Menyiapkan autentikasi menggunakan token ID Microsoft Entra

Untuk mengonfigurasi CLI Databricks warisan menggunakan token ID Microsoft Entra, menghasilkan token ID Microsoft Entra (sebelumnya Azure Active Directory) dan menyimpannya di variabel lingkungan DATABRICKS_AAD_TOKEN.

Jalankan perintah berikut:

databricks configure --aad-token

Perintah mengeluarkan prompt:

Databricks Host (should begin with https://):

Masukkan URL per ruang kerja Anda, dengan format https://adb-<workspace-id>.<random-number>.azuredatabricks.net. Untuk mendapatkan URL per-ruang kerja, lihat URL per-ruang kerja.

Setelah Anda menyelesaikan perintah, kredensial akses Anda disimpan dalam file ~/.databrickscfg di Linux atau macOS atau %USERPROFILE%\.databrickscfg di Windows. Berkas tersebut berisi entri profil bawaan.

[DEFAULT]
host = <workspace-URL>
token = <Azure-AD-token>

Jika .databrickscfg file sudah ada, profil konfigurasi file tersebut DEFAULT akan ditimpa oleh data baru. Untuk membuat profil konfigurasi dengan nama yang berbeda, lihat Profil koneksi.

Menyiapkan autentikasi menggunakan token akses pribadi Databricks

Untuk mengonfigurasi CLI Databricks warisan untuk menggunakan token akses pribadi, jalankan perintah berikut:

databricks configure --token

Perintah dimulai dengan mengeluarkan prompt:

Databricks Host (should begin with https://):

Masukkan URL per ruang kerja Anda, dengan format https://adb-<workspace-id>.<random-number>.azuredatabricks.net. Untuk mendapatkan URL per-ruang kerja, lihat URL per-ruang kerja.

Perintah berlanjut dengan mengeluarkan prompt untuk memasukkan token akses pribadi Anda:

Token:

Setelah Anda menyelesaikan perintah, kredensial akses Anda disimpan dalam file ~/.databrickscfg di Linux atau macOS, atau %USERPROFILE%\.databrickscfg di Windows. File berisi entri profil bawaan:

[DEFAULT]
host = <workspace-URL>
token = <personal-access-token>

Jika file .databrickscfg sudah ada, profil konfigurasi DEFAULT file tersebut ditimpa dengan data baru. Untuk membuat profil konfigurasi dengan nama yang berbeda, lihat Profil koneksi.

Untuk CLI 0.8.1 ke atas, Anda dapat mengubah jalur file ini dengan mengatur variabel DATABRICKS_CONFIG_FILElingkungan.

Linux atau macOS
export DATABRICKS_CONFIG_FILE=<path-to-file>
Windows
setx DATABRICKS_CONFIG_FILE "<path-to-file>" /M

Penting

Mulai dari CLI 0.17.2, CLI tidak dapat berfungsi dengan file .netrc. Anda dapat memiliki file .netrc di lingkungan Anda untuk tujuan lain, tetapi CLI tidak akan menggunakan file .netrc tersebut.

CLI 0.8.0 ke atas mendukung variabel lingkungan Azure Databricks berikut:

  • DATABRICKS_HOST
  • DATABRICKS_TOKEN

Pengaturan variabel lingkungan lebih diutamakan daripada pengaturan dalam file konfigurasi.

Menguji penyiapan autentikasi Anda

Untuk memeriksa apakah Anda menyiapkan autentikasi dengan benar, Anda bisa menjalankan perintah seperti berikut ini:

databricks fs ls dbfs:/

Jika berhasil, perintah ini mencantumkan file dan direktori di akar DBFS ruang kerja yang terkait dengan profil Anda DEFAULT .

Profil koneksi

Konfigurasi CLI Databricks warisan mendukung beberapa profil koneksi. Penginstalan CLI Databricks warisan yang sama dapat digunakan untuk melakukan panggilan API di beberapa ruang kerja Azure Databricks.

Untuk menambahkan profil koneksi, tentukan nama unik untuk profil:

databricks configure [--token | --aad-token] --profile <profile-name>

File .databrickscfg berisi entri profil yang sesuai:

[<profile-name>]
host = <workspace-URL>
token = <token>

Untuk menggunakan profil koneksi:

databricks <group> <command> --profile <profile-name>

Jika --profile <profile-name> tidak ditentukan, profil default digunakan. Jika profil default tidak ditemukan, Anda akan diminta untuk mengonfigurasi CLI dengan profil default.

Menguji profil koneksi Anda

Untuk memeriksa apakah Anda menyiapkan profil koneksi dengan benar, Anda bisa menjalankan perintah seperti berikut ini dengan salah satu nama profil koneksi Anda:

databricks fs ls dbfs:/ --profile <profile-name>

Jika berhasil, perintah ini mencantumkan file dan direktori di akar DBFS ruang kerja untuk profil koneksi yang ditentukan. Jalankan perintah ini untuk setiap profil koneksi yang ingin Anda uji.

Untuk melihat profil yang tersedia, periksa file .databrickscfg Anda.

Menggunakan CLI

Bagian ini menjelaskan kepada Anda cara mendapatkan bantuan CLI Databricks versi lama, menyusun output CLI Databricks versi lama, dan menjalankan perintah pada setiap grup perintah.

Menampilkan bantuan untuk grup perintah CLI

Anda mencantumkan sub perintah untuk grup perintah apa pun dengan menggunakan opsi --help atau -h. Misalnya, untuk mencantumkan subperintah dari DBFS CLI:

databricks fs -h

Tampilkan bantuan subperintah CLI

Anda mencantumkan bantuan untuk subkomando dengan menggunakan opsi --help atau -h. Misalnya, untuk mencantumkan bantuan untuk subperintah salinan file DBFS:

databricks fs cp -h

Grup perintah alias

Terkadang bisa kurang praktis untuk mengawali setiap penggunaan CLI Databricks versi lama dengan nama grup perintah, misalnya databricks workspace ls dalam CLI Databricks versi lama. Untuk membuat CLI Databricks warisan lebih mudah digunakan, Anda dapat alias grup perintah ke perintah yang lebih pendek. Misalnya, untuk mempersingkat databricks workspace ls ke dw ls dalam shell Bourne again, Anda dapat menambahkan alias dw="databricks workspace" ke profil bash yang sesuai. Biasanya, file ini terletak di ~/.bash_profile.

Tips

CLI Databricks warisan sudah mewakili databricks fs ke dbfs; databricks fs ls dan dbfs ls adalah setara.

Gunakan jq untuk mengurai output CLI

Beberapa perintah CLI Databricks warisan menghasilkan respons JSON dari titik akhir API. Terkadang berguna untuk mengurai bagian JSON untuk dimasukkan ke dalam perintah lain. Misalnya, untuk menyalin definisi pekerjaan, Anda harus mengambil bidang settings dari perintah "get job" dan menggunakannya sebagai argumen untuk perintah "create job". Dalam kasus ini, kami sarankan Anda untuk menggunakan utilitas jq.

Misalnya, perintah berikut menampilkan pengaturan pekerjaan dengan ID 233.

databricks jobs list --output JSON | jq '.jobs[] | select(.job_id == 233) | .settings'

Keluaran:

{
  "name": "Quickstart",
  "new_cluster": {
    "spark_version": "7.5.x-scala2.12",
    "spark_env_vars": {
      "PYSPARK_PYTHON": "/databricks/python3/bin/python3"
    },
    "num_workers": 8,
    ...
  },
  "email_notifications": {},
  "timeout_seconds": 0,
  "notebook_task": {
    "notebook_path": "/Quickstart"
  },
  "max_concurrent_runs": 1
}

Sebagai contoh lain, perintah berikut hanya mencetak nama dan ID dari semua kluster yang tersedia di ruang kerja:

databricks clusters list --output JSON | jq '[ .clusters[] | { name: .cluster_name, id: .cluster_id } ]'

Output:

[
  {
    "name": "My Cluster 1",
    "id": "1234-567890-grip123"
  },
  {
    "name": "My Cluster 2",
    "id": "2345-678901-patch234"
  }
]

Anda dapat menginstal jq misalnya di macOS dengan menggunakan Homebrew dengan brew install jq atau di Windows dengan menggunakan Chocolatey dengan choco install jq. Untuk informasi lebih lanjut tentang jq, lihat Manual jq.

String parameter JSON

Parameter string ditangani secara berbeda tergantung pada sistem operasi Anda:

Linux atau macOS

Anda harus menyertakan parameter string JSON dalam tanda kutip tunggal. Contohnya:

'["20180505", "alantest"]'

Windows

Anda harus mengapit parameter string JSON dalam tanda kutip ganda, dan tanda kutip di dalam string harus didahului oleh \. Contohnya:

"[\"20180505\", \"alantest\"]"

Pemecahan Masalah

Bagian berikut ini memberikan tips untuk memecahkan masalah umum dengan Legacy CLI Databricks.

Menggunakan EOF dengan databricks configure tidak berfungsi

Untuk Databricks CLI 0.12.0 ke atas, menggunakan urutan akhir file (EOF) dalam skrip untuk meneruskan parameter ke perintah databricks configure tidak berfungsi. Misalnya, skrip berikut menyebabkan Databricks CLI mengabaikan parameter, dan tidak ada pesan kesalahan yang dilemparkan:

# Do not do this.
databricksUrl=<per-workspace-url>
databricksToken=<personal-access-token-or-Azure-AD-token>

databricks configure --token << EOF
$databricksUrl
$databricksToken
EOF

Untuk meperbaiki masalah ini, lakukan salah satu langkah berikut:

  • Gunakan salah satu opsi konfigurasi terprogram lainnya seperti yang dijelaskan dalam Menyiapkan autentikasi.
  • Tambahkan nilai host dan token secara manual ke file .databrickscfg seperti yang dijelaskan dalam Menyiapkan autentikasi.
  • Turun tingkat instalasi Cli Databricks Anda ke 0.11.0 atau di bawah, dan jalankan skrip Anda lagi.

Perintah CLI