A Databricks parancssori felület migrálása

Ez a cikk azt ismerteti, hogyan migrálható a Databricks CLI 0.18-os vagy újabb verziójáról a Databricks CLI 0.205-ös vagy újabb verziójára. A Databricks CLI 0.205-ös és újabb verziói nyilvános előzetes verzióban érhetők el.

A rövidség kedvéért ez a cikk a Databricks CLI 0.18-as és újabb verzióira hivatkozik az "örökölt" parancssori felületként, a Databricks CLI 0.205-ös és újabb verzióit pedig "új" parancssori felületként.

Az örökölt és az új CLI-kkal kapcsolatos további információkért lásd:

A régi parancssori felület eltávolítása

Ha telepítve van az örökölt parancssori felület, és el szeretné távolítani, a pip (vagy pip3, a Python verziójától függően) használatával futtassa a uninstall parancsot az alábbiak szerint:

pip uninstall databricks-cli

Az új parancssori felület telepítése

Az új parancssori felület telepítéséről a Databricks parancssori felület telepítése vagy frissítése című témakörben olvashat.

A parancssori felület telepítésének ellenőrzése

Ha nem biztos abban, hogy az új parancssori felületet használja-e, kövesse az ebben a szakaszban található utasításokat az ellenőrzéshez és a szükség szerinti módosításhoz. Mielőtt végrehajtja ezeket az utasításokat, mindenképpen lépjen ki a Python virtuális környezetek, conda környezetek vagy hasonló környezetek közül.

A parancssori felület alapértelmezett telepítésének verziójának ellenőrzéséhez futtassa a következő parancsot:

databricks -v

Ha a verziószám nem a várt, tegye az alábbiak egyikét:

  • Ha a parancssori felületnek csak egy verzióját szeretné használni: távolítsa el a parancssori felület összes korábbi verzióját, amelyet már nem szeretne használni. Előfordulhat, hogy frissítenie kell az operációs rendszerét PATH , hogy a parancssori felület fennmaradó verziójának elérési útja szerepeljen a listában.
  • Ha továbbra is a parancssori felület több verzióját szeretné használni: a parancssori felület minden egyes hívásához előre írja be a parancssori felület minden egyes hívásához használni kívánt parancssori felület teljes elérési útját.
  • Ha továbbra is a parancssori felület több verzióját szeretné használni, de nem szeretné a leggyakrabban használt parancssori felület verziójának teljes elérési útját előre felerősíteni: győződjön meg arról, hogy az adott verzió teljes elérési útja először szerepel az operációs rendszerében PATH. Vegye figyelembe, hogy továbbra is elő kell használnia a parancssori felület azon verzióinak teljes elérési útját, amelyek nem szerepelnek az operációs rendszer PATHelső listájában.

Az operációs rendszer PATHfrissítéséhez tegye a következőket:

MacOS vagy Linux

  1. Az alábbi parancsok databricks egyikének futtatásával listázhatja a telepített elérési utakat:

    which -a databricks
    
    # Or:
    where databricks
    
  2. Szerezze be a használni kívánt telepítés elérési útját anélkül, hogy a parancssori felület minden egyes hívásának teljes elérési útját előre fel kell függesztetnie. Ha nem biztos benne, hogy melyik elérési útról van szó, futtassa az egyes helyek teljes elérési útját, majd -vkövesse például a következőt:

    /usr/local/bin/databricks -v
    
  3. Az elsőként használni kívánt telepítés elérési útját a listán az alábbi parancs segítségével állíthatja be: írja be a következő parancsot, és cserélje ki PATH az Ön által választott elérési útra. Ne adja hozzá a databricks-t az elérési út végéhez. Példa:

    export PATH="/usr/local/bin:$PATH"
    
  4. Annak ellenőrzéséhez, hogy az PATH helyesen lett-e beállítva az aktuális terminálmunkamenethez, futtassa a következő parancsokat: databricks, majd -v, és ellenőrizze a verziószámot.

    databricks -v
    
  5. Ahhoz, hogy a PATH ily módon legyen beállítva minden alkalommal, amikor újraindítja a terminált, adja hozzá a 3. lépésben szereplő parancsot a rendszerhéj inicializálási fájljához. A Zshell esetében például ez a fájl általában a következő helyen ~/.zshrctalálható: . A Bash esetében ez a fájl általában a következő helyen ~/.bashrctalálható: . Egyéb rendszerhéjak esetén tekintse meg a rendszerhéjszolgáltató dokumentációját.

  6. A környezet alapskript fájljának frissítése után újra kell indítania a terminált a frissített PATH érték alkalmazásához.

Windows

  1. Kattintson jobb egérgombbal a databricks telepítésre, amelyet használni kíván anélkül, hogy a CLI minden hívásánál előre fel kellene tüntetni a teljes elérési utat.

  2. Kattintson a Fájl helyének megnyitása gombra.

  3. Jegyezze fel a databricks elérési útját, például C:\Windows.

  4. A Startmenüben keressen környezeti változókat.

  5. Kattintson a fiók környezeti változóinak szerkesztése elemre.

  6. Válassza ki az Elérési út változót a szakasz Felhasználói változói <username> között.

  7. Kattintson a Szerkesztés gombra.

  8. Kattintson az Új gombra.

  9. Adja meg a hozzáadni kívánt elérési utat databricks.exe nélkül (például C:\Windows).

  10. A Felfelé gombra kattintva áthelyezheti az imént hozzáadott elérési utat a lista elejére.

  11. Kattintson az OK gombra.

  12. A helyes beállítás ellenőrzéséhez nyisson meg egy új parancssort, futtassa a PATH majd a databricks parancsot, és ellenőrizze a verziószámot.

    databricks -v
    

További hitelesítési típusok használata

Az örökölt parancssori felület és az új parancssori felület egyaránt támogatja Azure Databricks személyes hozzáférési jogkivonat-hitelesítést. A Databricks azonban azt javasolja, hogy lehetőség szerint használjon más Azure Databricks hitelesítési típusokat, amelyeket csak az új parancssori felület támogat.

Ha Azure Databricks személyes hozzáférési token-hitelesítést kell használnia, a Databricks azt javasolja, hogy egy szolgáltatási főszereplőhöz társított tokent használjon Azure Databricks-fiók vagy munkaterület-felhasználó helyett. Lásd Szolgáltatásfelelősök.

Az új parancssori felület a Azure Databricks személyes hozzáférési jogkivonatok mellett Microsoft Entra ID jogkivonatokat is támogat. Ezek a további jogkivonatok biztonságosabbak, mivel általában egy órán belül lejárnak, míg Azure Databricks személyes hozzáférési jogkivonatok egy naptól határozatlan ideig érvényesek lehetnek. Ez különösen akkor fontos, ha egy token véletlenül be van jelölve olyan verziókövetési rendszerekbe, amelyek mások által is elérhetők. Emellett az új parancssori felület automatikusan frissítheti ezeket a további jogkivonatokat a lejáratukkor, míg Azure Databricks személyes hozzáférési jogkivonatok frissítése manuális folyamat, vagy nehéz automatizálni.

További információ: Hitelesítés a Databricks parancssori felületéhez.

Parancscsoportok és parancsok összehasonlítása

Az alábbi táblázat az örökölt PARANCSSOR-parancscsoportokat és azok új PARANCSSOR-parancscsoport-megfelelőit sorolja fel. Ahol jelentős különbségek vannak a CLI-k között, a további táblázatok felsorolják a régi parancssori parancsokat vagy beállításokat, valamint azok új CLI-parancs vagy -beállítás megfelelőit.

Parancscsoportok

Örökölt parancscsoport Új parancscsoport
cluster-policies cluster-policies. Minden parancsnév ugyanaz.
clusters clusters. Minden parancsnév ugyanaz.
configure configure. Lásd a configure beállításokat.
fs fs. Lásd afs parancsokat.
groups groups. Lásd agroups parancsokat.
instance-pools instance-pools. Minden parancsnév ugyanaz.
jobs jobs. Minden parancsnév ugyanaz.
libraries libraries. Minden parancsnév ugyanaz, kivéve a list. A list parancs már nem érhető el; használja inkább a all-cluster-statusescluster-status parancsokat.
pipelines pipelines. Lásd apipelines parancsokat.
repos repos. Minden parancsnév ugyanaz.
runs jobs. Lásd aruns parancsokat.
secrets secrets. Lásd asecrets parancsokat.
stack Nem érhető el az új parancssori felületen. A Databricks azt javasolja, hogy inkább a Databricks Terraform-szolgáltatót használja.
tokens tokens. Lásd atokens parancsokat.
unity-catalog Különböző. Lásd aunity-catalog parancscsoportokat.
workspace workspace. Lásd aworkspace parancsokat.

configure beállítások

Örökölt beállítás Új lehetőség
-o Az örökölt parancssori felület OAuth-hitelesítéshez használható -o . Az új parancssori felület átalakítja -o annak érdekében, hogy a parancssori felület kimenete szöveg vagy JSON formátumban legyen. A Azure Databricks nem alkalmazható.
--oauth A Azure Databricks nem alkalmazható.
-s vagy --scope A Azure Databricks nem alkalmazható.
-t vagy --token -t vagy --token (ugyanaz)
-f vagy --token-file Nem érhető el az új parancssori felületen.
--host --host (ugyanaz)
--aad-token Amikor a rendszer kéri, használja a --host-t, és adjon meg egy Microsoft Entra ID jogkivonatot az Azure Databricks személyes hozzáférési jogkivonat helyett.
--insecure Nem érhető el az új parancssori felületen.
--jobs-api-version Nem érhető el az új parancssori felületen. Az új CLI csak a Jobs API 2.1-et használja. Az örökölt Jobs API 2.0 meghívásához használja az örökölt parancssori felületet, és tekintse meg a Feladatok parancssori felületét (örökölt).
--debug Az új parancssori felület hibakeresésével és naplózásával kapcsolatban lásd: Hibakeresési mód.
--profile --profile (ugyanaz) vagy -p
-h vagy --help -h vagy --help (ugyanaz)

fs Parancsok

Az örökölt parancssori felület összes fs parancsa megegyezik az új parancssori felülettel, kivéve fs mv , amely nem érhető el az új parancssori felületen.

Örökölt parancs Új parancs
fs cat fs cat (ugyanaz)
fs cp fs cp (ugyanaz)
fs ls fs ls (ugyanaz)
fs mkdirs fs mkdir
fs mv Nem érhető el az új parancssori felületen.
fs rm fs rm (ugyanaz)

groups Parancsok

Örökölt parancs Új parancs
groups add-member groups patch
groups create groups create (ugyanaz)
groups delete groups delete (ugyanaz)
groups list groups list (ugyanaz)
groups list-members groups list
groups list-parents groups list
groups remove-member groups patch

pipelines Parancsok

Örökölt parancs Új parancs
pipelines create pipelines create (ugyanaz)
pipelines delete pipelines delete (ugyanaz)
pipelines deploy pipelines create
pipelines edit pipelines update
pipelines get pipelines get (ugyanaz)
pipelines list pipelines list-pipeline-eventsvagy pipelines list-pipelinespipelines list-updates
pipelines reset pipelines reset (ugyanaz)
pipelines start pipelines start update
pipelines stop pipelines stop (ugyanaz)
pipelines update pipelines update (ugyanaz)

runs Parancsok

Örökölt parancs Új parancs
runs cancel jobs cancel-run
runs get jobs get-run
runs get-output jobs get-run-output
runs list jobs list-runs
runs submit jobs submit

secrets Parancsok

Örökölt parancs Új parancs
secrets create-scope secrets create-scope (ugyanaz)
secrets delete secrets delete-secret
secrets delete-acl secrets delete-acl (ugyanaz)
secrets delete-scope secrets delete-scope (ugyanaz)
secrets get-acl secrets get-acl (ugyanaz)
secrets list secrets list-secrets
secrets list-acls secrets list-acls (ugyanaz)
secrets list-scopes secrets list-scopes (ugyanaz)
secrets put secrets put-secret
secrets put-acl secrets put-acl (ugyanaz)
secrets write secrets put-secret
secrets write-acl secrets put-acl

tokens Parancsok

Örökölt parancs Új parancs
tokens create tokens create (ugyanaz)
tokens list tokens list (ugyanaz)
tokens revoke tokens delete

unity-catalog parancscsoportok

unity-catalog <command> az örökölt parancssori felület csak <command> az új parancssori felületre kerül.

Örökölt parancscsoport Új parancscsoport
unity-catalog catalogs catalogs (ugyanaz, de elhagyva unity-catalog)
unity-catalog external-locations external-locations (ugyanaz, de elhagyva unity-catalog)
unity-catalog lineage Nem érhető el az új parancssori felületen. Lásd: Adatsorok megtekintése a Unity Catalog használatával.
unity-catalog metastores metastores (ugyanaz, de elhagyva unity-catalog)
unity-catalog permissions grants
unity-catalog providers providers (ugyanaz, de elhagyva unity-catalog)
unity-catalog recipients recipients (ugyanaz, de elhagyva unity-catalog)
unity-catalog schemas schemas (ugyanaz, de elhagyva unity-catalog)
unity-catalog shares shares (ugyanaz, de elhagyva unity-catalog)
unity-catalog storage-credentials storage-credentials (ugyanaz, de elhagyva unity-catalog)
unity-catalog tables tables (ugyanaz, de elhagyva unity-catalog)

workspace Parancsok

Örökölt parancs Új parancs
workspace delete workspace delete (ugyanaz)
workspace export workspace export (ugyanaz)
workspace export-dir workspace export
workspace import workspace import (ugyanaz)
workspace import-dir workspace import
workspace list workspace list (ugyanaz)
workspace ls workspace list
workspace mkdirs workspace mkdirs (ugyanaz)
workspace rm workspace delete

Alapértelmezett és pozícióargumentumok

Az új CLI-parancsok többsége legalább egy alapértelmezett argumentumot tartalmaz, amely nem rendelkezik megfelelő opcióval. Egyes új parancssori felületi parancsok két vagy több pozícióargumentumot használnak, amelyeket egy adott sorrendben kell megadni, és amelyek nem rendelkeznek kísérő beállításokkal. Ez eltér az örökölt parancssori felülettől, ahol a legtöbb parancshoz az összes argumentumhoz meg kell adni a beállításokat. Az új parancssori felület parancsa clusters get például egy fürtazonosítót használ alapértelmezett argumentumként. Az örökölt parancssori felület clusters get parancsához azonban meg kell adnia a --cluster-id kapcsolót a fürtazonosítóval együtt. Példa:

A régi parancssori felület esetében:

# This works with the legacy CLI.
databricks clusters get --cluster-id 1234-567890-a1b23c4d

# This does **not** work with the legacy CLI - "Error:
#   Missing None. One of ['cluster-id', 'cluster-name'] must be provided."
databricks clusters get 1234-567890-a1b23c4d

Az új parancssori felület esetében:

# This works with the new CLI.
databricks clusters get 1234-567890-a1b23c4d

# This does **not** work with the new CLI - "Error: unknown flag: --cluster-id"
databricks clusters get --cluster-id 1234-567890-a1b23c4d

Egy másik példaként az új parancssori felület grants get parancsa két alapértelmezett argumentumot használ: a biztonságra vonatkozó típust és a biztonsági objektum teljes nevét. Az örökölt parancssor unity-catalog permissions get parancsához azonban meg kell adnia egy --<securable-type> opciót, valamint a védhető objektum teljes nevét. Példa:

A régi parancssori felület esetében:

databricks unity-catalog permissions get --schema main.default

Az új parancssori felület esetében:

# This works with the new CLI.
databricks grants get schema main.default

# This does **not** work with the new CLI - "Error: unknown flag: --schema"
databricks grants get --schema main.default

Hibakeresési mód

Az örökölt parancssori felület lehetővé teszi a --debug opció révén a teljes veremnyomkövetést hiba esetén. Az új parancssori felület esetében a --debug beállítás nem ismerhető fel. Ehelyett használja a következő beállításokat:

  • Használja a --log-file <path>-t a naplóadatok írásához a <path>-ben megadott fájlba. Ha ez a beállítás nincs megadva, a naplóadatok az stderr-nek lesznek kiadva. Ha megadja a --log-file-t, de nem adja meg a --log-level-t, akkor nem íródik naplóinformáció a fájlba.
  • A naplózott adatok formátumának megadására szolgál --log-format <type> . <type> text lehet (az alapértelmezett, ha nincs megadva) vagy json.
  • A naplózott információk szintjének megadására szolgál --log-level <format> . Az engedélyezett értékek disabled (az alapértelmezett érték, ha nincs megadva), trace, debug, info, warnés error.

Az örökölt parancssori felület esetében az alábbi példa a hiba teljes veremkövetését mutatja be:

databricks fs ls / --debug

# Output:
#
# HTTP debugging enabled
# NoneType: None
# Error: The path / must start with "dbfs:/"

Az új parancssori felület esetében az alábbi példa naplózza a teljes verem nyomkövetését egy, az aktuális munkakönyvtárban elnevezett new-cli-errors.log fájlba. A verem nyomkövetése JSON formátumban van megírva a fájlba:

databricks fs ls / --log-file new-cli-errors.log --log-format json --log-level trace

# Output:
#
# Error: expected dbfs path (with the dbfs:/ prefix): /
#
# (The full stack trace is also written to the new-cli-errors.log file.)

Gyakori kérdések

Ez a szakasz az örököltről az új parancssori felületre való migrálással kapcsolatos gyakori kérdéseket sorolja fel.

Mi történik a régi parancssori felülettel?

Az örökölt parancssori felület továbbra is elérhető, de nem kap kritikus fontosságú frissítéseket. Az örökölt CLI-dokumentáció ezt tükrözi. A Databricks azt javasolja, hogy a felhasználók a lehető leghamarabb térjenek át az új parancssori felületre.

Az örökölt parancssori felület mindig kísérleti állapotban volt, azzal a jogi nyilatkozattal, hogy a Databricks nem tervez új funkciót az örökölt parancssori felülethez, és az örökölt parancssori felület nem támogatott a Databricks támogatási csatornáival.

Mikor lesz leállítva a régi parancssori felület?

Az örökölt parancssori felület mindig kísérleti állapotban volt, azzal a jogi nyilatkozattal, hogy a Databricks nem tervez új funkciót az örökölt parancssori felülethez, és az örökölt parancssori felület nem támogatott a Databricks támogatási csatornáival.

A Databricks nem határozott meg dátumot vagy ütemtervet az örökölt parancssori felület megszüntetésére. A Databricks azonban azt javasolja, hogy a felhasználók a lehető leghamarabb migráljanak az új parancssori felületre.

Mikor jelenik meg az új parancssori felület általánosan elérhetőként (GA)?

Az új parancssori felület ga-ként való kiadásának dátuma vagy idővonala nem lett meghatározva. Ez attól függ, hogy a Databricks milyen visszajelzéseket kap a felhasználóktól a nyilvános előzetes verzió során.

Mik a fő különbségek az örökölt és az új CLI-k között?

  • Az örökölt parancssori felület Python csomagként jelent meg. Az új parancssori felület önálló végrehajthatóként jelenik meg, és nincs szükség futtatókörnyezeti függőségek telepítésére.
  • Az új parancssori felület teljes körűen lefedi a Databricks REST API-kat. Az örökölt parancssori felület nem.
  • Az új parancssori felület nyilvános előzetes verzióként érhető el. Az örökölt parancssori felület (CLI) kísérleti állapotban marad.

Az új parancssori felület rendelkezik teljes funkció paritásossággal az örökölt parancssori felülettel?

Az új parancssori felület lefedi az örökölt parancssori felület szinte minden parancsát. Az új parancssori felületről azonban hiányzik a stacks régi parancssori felület parancscsoportja. Emellett néhány régi parancssori parancscsoport, például unity-catalog és runs, az új parancssori felület új parancscsoportjaiba lett átszervezve. A migrálással kapcsolatos útmutatásért tekintse meg a cikk korábbi részében megadott információkat.

Hogyan migrálni az örökölt parancssori felületről az új parancssori felületre?

A migrálással kapcsolatos útmutatásért tekintse meg a cikk korábbi részében megadott információkat. Vegye figyelembe, hogy az új parancssori felület nem helyettesíti az örökölt parancssori felületet, és bizonyos beállításokat igényel az örökölt parancssori felületről az új parancssori felületre való áttéréshez.

Létezhetnek az örökölt és az új CLI-k telepítése ugyanazon a gépen?

Igen. Az örökölt és az új CLI-k telepítése ugyanazon a gépen is létezhet, de különböző könyvtárakban kell lenniük. Mivel a végrehajtható elemek neve mindkettő databricks, a gép PATHkonfigurálásával szabályoznia kell, hogy melyik végrehajtható fájl fut alapértelmezés szerint. Ha az új parancssori felületet szeretné futtatni, de valahogy véletlenül inkább az örökölt parancssori felületet szeretné futtatni, alapértelmezés szerint az örökölt parancssori felület ugyanazokkal az argumentumokkal futtatja az új parancssori felületet, és megjeleníti a következő figyelmeztető üzenetet:

Databricks CLI <new-version-number> found at <new-path>
Your current PATH prefers running CLI <old-version-number> at <old-path>

Because both are installed and available in PATH,
I assume you are trying to run the newer version.

If you want to disable this behavior you can set DATABRICKS_CLI_DO_NOT_EXECUTE_NEWER_VERSION=1.

Executing CLI <new-version-number>...
-------------------------------------
Databricks CLI <new-version-number>

Ahogy az előző figyelmeztető üzenetben látható, beállíthatja a DATABRICKS_CLI_DO_NOT_EXECUTE_NEWER_VERSION környezeti változót úgy, hogy 1 letiltsa ezt a viselkedést, és helyette futtassa az örökölt parancssori felületet.

Segítség kérése

Ha segítségre van szüksége az örökölt parancssori felületről az új parancssori felületre való migráláshoz, tekintse meg a következő erőforrásokat: