Condividi tramite


Carica i dati usando COPY INTO con un principale del servizio

Questo articolo descrive come usare il comando COPY INTO per caricare dati da un contenitore di Azure Data Lake Storage (ADLS) nell'account Azure in una tabella in Databricks SQL.

I passaggi descritti in questo articolo presuppongono che l'amministratore abbia configurato un SQL warehouse per l'uso di un principale del servizio di Azure Databricks per consentire l'accesso ai file di origine in ADLS. Se l'amministratore ha configurato una posizione esterna di Unity Catalog con credenziali di archiviazione, vedere Carica i dati usando COPY INTO con volumi del catalogo Unity o percorsi esterni invece. Se l'amministratore ti ha fornito delle credenziali temporanee (un token SAS BLOB), segui la procedura descritta in Caricare dati usando COPY INTO con credenziali temporanee.

Databricks consiglia di usare il comando COPY INTO per il caricamento incrementale e bulk dei dati con Databricks SQL.

Nota

COPY INTO funziona bene per le origini dati che contengono migliaia di file. Databricks consiglia di usare il caricatore automatico per il caricamento di milioni di file, che non è supportato in Databricks SQL.

Operazioni preliminari

Prima di caricare i dati in Azure Databricks, assicurarsi di disporre degli elementi seguenti:

  • Accesso ai dati in ADLS. L'amministratore deve prima completare i passaggi descritti in Configurare l'accesso ai dati per l'inserimento in modo che Databricks SQL Warehouse possa leggere i file di origine.
  • Un magazzino SQL di Databricks.
  • L'autorizzazione Può gestire per SQL Warehouse.
  • Il percorso ai tuoi dati in un contenitore ADLS.
  • Familiarità con l'interfaccia utente di Databricks SQL.

Passaggio 1: Confermare l'accesso ai dati nell'archiviazione cloud

Per verificare di avere accesso ai dati corretti nell'archiviazione di oggetti cloud, eseguire le operazioni seguenti:

  1. Nella barra laterale fare clic su Crea > query.

  2. Nella barra dei menu dell'editor SQL, selezionare un SQL warehouse.

  3. Nell'editor SQL incollare il codice seguente:

    select * from csv.<path>
    

    Sostituire <path> con il percorso del contenitore ADLS ricevuto dall'amministratore. Ad esempio, abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>.

  4. Fare clic su Esegui.

Passaggio 2: Creare una tabella

Questo passaggio descrive come creare una tabella nell'area di lavoro di Azure Databricks per contenere i dati in ingresso.

  1. Nell'editor SQL incollare il codice seguente:

    CREATE TABLE <catalog_name>.<schema_name>.<table_name> (
      tpep_pickup_datetime  TIMESTAMP,
      tpep_dropoff_datetime TIMESTAMP,
      trip_distance DOUBLE,
      fare_amount DOUBLE,
      pickup_zip INT,
      dropoff_zip INT
    );
    
  2. Fare clic su Esegui.

Passaggio 3: Caricare i dati dall'archiviazione cloud nella tabella

Questo passaggio descrive come caricare dati da un contenitore ADLS nella tabella nell'area di lavoro di Azure Databricks.

  1. Nella barra laterale fare clic su Crea > query.

  2. Nella barra dei menu dell'editor SQL, selezionare un SQL Warehouse e assicurarsi che il SQL Warehouse sia in esecuzione.

  3. Nell'editor SQL incollare il codice seguente. In questo codice sostituire:

    • <container> con il nome del contenitore Azure Data Lake Storage (ADLS) all'interno dell'account di archiviazione.
    • <storage-account> con il nome dell'account di archiviazione ADLS.
    • <folder> con il nome della cartella che contiene i dati.
    • <blob-sas-token> con il valore del token SAS Blob ricevuto dall'amministratore.
    COPY INTO <catalog-name>.<schema-name>.<table-name>
    FROM 'abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>'
    FILEFORMAT = CSV
    FORMAT_OPTIONS (
      'header' = 'true',
      'inferSchema' = 'true'
    );
    
    SELECT * FROM <catalog-name>.<schema-name>.<table-name>;
    

    Nota

    FORMAT_OPTIONS differisce da FILEFORMAT. In questo caso, l'opzione header indica ad Azure Databricks di considerare la prima riga del file CSV come intestazione e le inferSchema opzioni indicano ad Azure Databricks di determinare automaticamente il tipo di dati di ogni campo nel file CSV.

  4. Fare clic su Esegui.

    Nota

    Se si fa clic su esegui di nuovo, nella tabella non vengono caricati nuovi dati. Questo perché il COPY INTO comando elabora solo ciò che considera come nuovi dati.

Eseguire la pulizia

È possibile pulire le risorse associate nell'area di lavoro se non si vogliono più mantenerle.

Eliminare le tabelle

  1. Nella barra laterale fare clic su Crea > query.

  2. Selezionare un magazzino SQL e assicurarsi che sia in esecuzione.

  3. Incolla il codice seguente:

    DROP TABLE <catalog-name>.<schema-name>.<table-name>;
    
  4. Fare clic su Esegui.

  5. Posiziona il cursore sulla scheda per questa query e quindi fai clic sull'icona X.

Eliminare le query nell'editor SQL

  1. Nella barra laterale fare clic su Editor SQL.
  2. Nella barra dei menu dell'editor SQL passare il puntatore del mouse sulla scheda per ogni query creata per questa esercitazione e quindi fare clic sull'icona X .

Risorse aggiuntive