Condividi tramite


Usare dbx per sincronizzare i file locali con aree di lavoro remote in tempo reale

Importante

Questa documentazione è stata ritirata e potrebbe non essere aggiornata.

Databricks consiglia di usare, invece di dbx sync, la versione 0.205 o successiva dell'interfaccia della riga di comando Databricks, che include funzionalità simili a dbx sync tramite il comando databricks sync.

L'estensione Databricks per Visual Studio Code include anche funzionalità simili a dbx sync integrate nell'IDE di Visual Studio Code. Si prega di notare che dbx sync è possibile sincronizzare le modifiche dei file da un computer di sviluppo locale a DBFS, le posizioni dell'area di lavoro e le cartelle Git di Databricks nelle aree di lavoro di Azure Databricks. L'estensione Databricks per Visual Studio Code supporta la sincronizzazione delle modifiche dei file solo ai file dell'utente dell'area di lavoro (/Users) e alle cartelle Git di Databricks (/Repos).

Nota

Questo articolo tratta di dbx di Databricks Labs, che è fornito as-is e non è supportato da Databricks attraverso i canali di supporto tecnico ai clienti. Le domande e le richieste di funzionalità possono essere inviate tramite la pagina problemi del repository databrickslabs/dbx su GitHub.

È possibile eseguire la sincronizzazione in tempo reale delle modifiche ai file nel computer di sviluppo locale con i file corrispondenti nelle aree di lavoro di Azure Databricks usando dbx da Databricks Labs. Questi file dell'area di lavoro possono trovarsi in DBFS o nelle cartelle Git di Databricks .

La sincronizzazione dei file in tempo reale con dbx (nota anche come dbx sync) è utile negli scenari di sviluppo rapido del codice. Ad esempio, è possibile utilizzare un ambiente di sviluppo integrato locale (IDE) per funzionalità di produttività come l'evidenziazione della sintassi, il completamento intelligente del codice, il linting del codice, nonché il test e il debug. È quindi possibile passare immediatamente all'area di lavoro ed eseguire il codice aggiornato.

È possibile usare dbx sync autonomamente, con processi automatizzatio con un IDE.

flussi di lavoro di sviluppo dbx sync

Esistono due flussi di lavoro di sviluppo per dbx sync, uno con DBFS e un altro con le cartelle Git di Databricks.

Il flusso di lavoro di sviluppo tipico con dbx sync e DBFS è:

  1. Identificare una directory locale contenente i file da sincronizzare con DBFS.
  2. Identificare il percorso in DBFS con cui si vuole sincronizzare la directory locale, oppure consentire a dbx sync di creare automaticamente un percorso DBFS predefinito.
  3. Eseguire dbx sync dbfs per sincronizzare la directory locale con il percorso DBFS. dbx sync inizia a osservare la directory locale per eventuali modifiche apportate ai file.
  4. Apportare modifiche ai file nella directory locale in base alle esigenze. dbx sync applica tali modifiche ai file corrispondenti nel percorso DBFS in tempo reale.

Il flusso di lavoro di sviluppo tipico con le cartelle Git di dbx sync e Databricks è:

  1. Creare un repository con un provider Git che supporta le cartelle Git di Databricks, se non si dispone già di un repository.
  2. Clona il tuo repository nell'area di lavoro di Azure Databricks.
  3. Clona il repository nel tuo computer di sviluppo locale.
  4. Esegui dbx sync repo per associare il tuo repository clonato locale al repository clonato di area di lavoro. dbx sync inizia a osservare la directory locale per eventuali modifiche apportate ai file.
  5. Apportare modifiche ai file nel repository clonato locale in base alle esigenze. dbx sync applica tali modifiche ai file corrispondenti nelle cartelle Git di Databricks in tempo reale.
  6. Effettuare periodicamente il push dei file aggiornati dal repository clonato nell'area di lavoro al provider Git, in modo che il repository rimanga aggiornato con il provider Git.

Importante

dbx sync esegue solo una sincronizzazione in tempo reale delle modifiche dei file dal computer di sviluppo locale all'area di lavoro remota. Di conseguenza, Databricks non consiglia di effettuare modifiche nell'area di lavoro di Azure Databricks ai file monitorati da dbx sync. Se è necessario apportare tali modifiche al file avviato dall'area di lavoro, è necessario eseguire anche le operazioni seguenti:

  • Per le modifiche ai file in DBFS, apportare manualmente le modifiche corrispondenti ai file locali.
  • Per le modifiche ai file nelle cartelle Git di Databricks, effettua il push delle modifiche dei file dal tuo workspace al tuo provider Git. Quindi, nel computer di sviluppo locale, effettuare il pull di tali modifiche ai file dal provider Git.

Requisiti

Se si vuole usare dbx sync con le cartelle Git di Databricks, l'area di lavoro di Azure Databricks deve soddisfare i requisiti seguenti:

  • Si suggerisce una clonazione del tuo repository con il tuo provider Git, anche se non è necessaria.

Nel computer di sviluppo locale è necessario avere installato quanto segue:

  • Python versione 3.8 o successiva. Per verificare se Python è installato e controllare la versione di Python installata, eseguire python --version nel terminale o in PowerShell.

    python --version
    

    Nota

    Alcune installazioni di python potrebbero richiedere l'uso di python3 anziché di python. In tal caso, sostituire python con python3 in questo articolo.

  • pip. Per verificare se pip è installato e controllare la versione pip installata, eseguire pip --version o python -m pip --version.

    pip --version
    
    # Or...
    
    python -m pip --version
    

    Nota

    Alcune installazioni di pip potrebbero richiedere l'uso di pip3 anziché di pip. In tal caso, sostituire pip con pip3 in questo articolo.

  • dbx versione 0.8.0 o superiore. Per verificare se dbx è installato e controllare la versione di dbx installata, eseguire dbx --version. Per installare dbx da Python Package Index (PyPI), eseguire pip install dbx o python -m pip install dbx. (dbx include dbx sync.)

    # Check whether dbx is installed, and check its version.
    dbx --version
    
    # Install dbx.
    pip install dbx
    
    # Or...
    python -m pip install dbx
    

    Nota

    Per altre informazioni su dbx, vedere dbx by Databricks Labs e la documentazione dbx.

  • L'interfaccia della riga di comando di Databricks versione 0.18 o successiva, configurata con autenticazione. L'interfaccia legacy CLI di Databricks (versione 0.17) viene installata automaticamente quando si installa dbx. Questa autenticazione può essere configurata nel computer di sviluppo locale in una o entrambe le posizioni seguenti:

    • All'interno delle variabili di ambiente DATABRICKS_HOST e DATABRICKS_TOKEN (a partire dalla versione 0.8.0 dell'interfaccia a riga di comando di Databricks).
    • In un profilo di configurazione di Azure Databricks all'interno del file di .databrickscfg.

    dbx cerca rispettivamente le credenziali di autenticazione in queste due posizioni. dbx usa solo il primo set di credenziali corrispondenti trovate.

    Nota

    Se usi un file .databrickscfg, dbx sync cercherà in quel file un profilo di configurazione denominato DEFAULT per impostazione predefinita. Per specificare un profilo diverso, usare l'opzione --profile quando si esegue il comando dbx sync, più avanti in questo articolo.

    non supporta l'uso di un file .netrc per l'autenticazione.

  • Se si vuole usare dbx sync con le cartelle Git di Databricks, è consigliabile usare un clone locale del repository con il provider Git, anche se non necessario. Per eseguire un clone locale, consultare la documentazione del provider Git.

Usare DBFS con dbx sync

  1. Dal terminale o da PowerShell sul computer di sviluppo locale, passare alla directory che contiene i file da sincronizzare con DBFS nell'area di lavoro di Azure Databricks.

  2. Esegui il comando dbx sync per sincronizzare la tua directory locale con DBFS nell'area di lavoro, come segue. (Non dimenticare il punto (.) alla fine, che rappresenta la directory corrente.)

    dbx sync dbfs --source .
    

    Mancia

    Per specificare una directory di origine diversa, sostituire il punto (.) con un percorso diverso.

    Nota

    Se viene visualizzato l'errore Error: No such command 'sync', è probabile che l'installazione di dbx non sia aggiornata. Per risolvere questo problema, eseguire pip install --upgrade dbx==<version> o python -m pip install --upgrade dbx==version, dove <version> è la versione più recente di dbx. Questo numero di versione è disponibile nella pagina Web pyPI per dbx.

    pip install --upgrade dbx==<version>
    
    # Or...
    python -m pip install --upgrade dbx==version
    
  3. dbx sync inizia la sincronizzazione dei file nella directory locale corrente con i file nel seguente percorso DBFS nell'area di lavoro. dbx sync conferma questa operazione stampando Target base path seguito dal percorso DBFS, ad esempio:

    /tmp/users/<your-Databricks-username>/<local-directory-name>
    

    Mancia

    Per specificare un nome utente o un percorso DBFS diverso, specificare rispettivamente le opzioni --user e --dest quando si esegue dbx sync.

  4. Apportare modifiche ai file locali in base alle esigenze.

    Importante

    Per continuare la sincronizzazione, è necessario mantenere aperto il terminale o PowerShell per dbx sync. Se si chiude il terminale o PowerShell, dbx sync smette di controllare le modifiche apportate ai file e interrompe la sincronizzazione. Per riprendere la sincronizzazione delle modifiche dei file, ripetere questa procedura dall'inizio.

  5. Se necessario, verifica le modifiche apportate ai file nel percorso precedente all'interno di DBFS nella tua area di lavoro.

Usare le cartelle Git di Databricks con dbx sync

  1. Dal terminale o da PowerShell sul computer locale di sviluppo, passare alla directory radice che contiene il clone del repository con il provider Git.

  2. Nell'area di lavoro di Azure Databricks, identifica il nome della cartella Git di Databricks per sincronizzarla con il repository locale clonato. È possibile trovare questo nome di repository facendo clic su cartelle Git nella barra laterale dell'area di lavoro.

  3. Sul computer di sviluppo locale, eseguire il comando dbx sync per sincronizzare il repository clonato locale con le cartelle Git di Databricks nell'area di lavoro, sostituendo <your-repo-name> con il nome del tuo repository nelle cartelle Git di Databricks. (Non dimenticare il punto (.) alla fine, che rappresenta la directory corrente.)

    dbx sync repo -d <your-repo-name> --source .
    

    Mancia

    Per specificare una directory di origine diversa, sostituire il punto (.) con un percorso diverso.

    Nota

    Se viene visualizzato l'errore Error: No such command 'sync', è probabile che l'installazione di dbx non sia aggiornata. Per risolvere questo problema, eseguire pip install --upgrade dbx==<version> o python -m pip install --upgrade dbx==version, dove <version> è la versione più recente di dbx. Questo numero di versione è disponibile nella pagina Web pyPI per dbx.

    pip install --upgrade dbx==<version>
    
    # Or...
    python -m pip install --upgrade dbx==version
    
  4. dbx sync inizia la sincronizzazione dei file nel repository clonato locale con i file nelle cartelle Git di Databricks nell'area di lavoro. dbx sync conferma questo stampando Target base path seguito dal percorso delle cartelle Git di Databricks, ad esempio:

    /Repos/<your-Databricks-username>/<your-repo-name>
    

    Mancia

    Per specificare un nome utente o un repository diverso, specificare rispettivamente le opzioni --user e --dest-repo quando si esegue dbx sync.

  5. Apportare modifiche ai file locali in base alle esigenze.

    Importante

    Per continuare la sincronizzazione, è necessario mantenere aperto il terminale o PowerShell per dbx sync. Se si chiude il terminale o PowerShell, dbx sync smette di controllare le modifiche apportate ai file e interrompe la sincronizzazione. Per riprendere la sincronizzazione delle modifiche dei file, ripetere questa procedura dall'inizio.

  6. Se necessario, verificare le modifiche apportate ai file nelle cartelle Git di Databricks nell'area di lavoro.

Risorse aggiuntive