Come montare ADLS Gen2 per la suddivisione in livelli HDFS in un cluster Big Data

Le sezioni seguenti forniscono un esempio di come configurare la suddivisione in livelli HDFS con un'origine dati Azure Data Lake Storage Gen2.

Importante

Il componente aggiuntivo per i cluster Big Data di Microsoft SQL Server 2019 verrà ritirato. Il supporto per i cluster Big Data di SQL Server 2019 terminerà il 28 febbraio 2025. Tutti gli utenti esistenti di SQL Server 2019 con Software Assurance saranno completamente supportati nella piattaforma e fino a quel momento il software continuerà a ricevere aggiornamenti cumulativi di SQL Server. Per altre informazioni, vedere il post di blog relativo all'annuncio e Opzioni per i Big Data nella piattaforma Microsoft SQL Server.

Prerequisiti

Caricare i dati in Azure Data Lake Storage

La sezione seguente descrive come configurare Azure Data Lake Storage Gen2 per testare la suddivisione in livelli HDFS. Se si hanno già dati archiviati in Azure Data Lake Storage, è possibile ignorare questa sezione per usare i propri dati.

  1. Creare un account di archiviazione con le funzionalità di Data Lake Storage Gen2.

  2. Creare un file system in questo account di archiviazione per i dati.

  3. Caricare un file CSV o Parquet nel contenitore. Si tratta dei dati HDFS esterni che verranno montati in HDFS nel cluster Big Data.

Credenziali per il montaggio

Usare le credenziali OAuth per il montaggio

Per usare le credenziali OAuth per il montaggio, è necessario seguire questa procedura:

  1. Accedere al portale di Azure

  2. Passare a Microsoft Entra ID. Il servizio è visualizzato sulla barra di spostamento a sinistra.

  3. Selezionare Registrazioni app dal menu delle risorse e creare una nuova registrazione.

  4. Creare un'applicazione Web e seguire la procedura guidata. Tenere a mente il nome dell'app creata in questa fase. Sarà necessario aggiungere questo nome all'account ADLS come utente autorizzato. Prendere nota anche dell'ID client dell'applicazione nella sezione di panoramica quando si seleziona l'app.

  5. Dopo aver creato l'applicazione Web, passare a Certificati e segreti, e scegliere di creare un Nuovo segreto client. Selezionare una durata. Usare Aggiungi per salvare il segreto.

  6. Tornare alla pagina Registrazioni app e fare clic su "Endpoint" nella parte superiore. Prendere nota dell'URL dell'endpoint di token OAuth (v2)

  7. A questo punto dovrebbero essere state annotate le informazioni seguenti per OAuth:

    • "ID client applicazione" per l'applicazione Web
    • Segreto client
    • Endpoint di token

Aggiungere l'entità servizio all'account ADLS

  1. Tornare al portale, passare al file system dell'account di archiviazione ADLS e selezionare Controllo di accesso (IAM) nel menu a sinistra.
  2. Selezionare "Aggiungi un'assegnazione di ruolo".
  3. Selezionare il ruolo "Collaboratore ai dati dei BLOB di archiviazione".
  4. Cercare il nome creato in precedenza (si noti che non viene visualizzato nell'elenco, ma è possibile trovarlo cercando il nome completo).
  5. Fare clic su Salva per salvare il ruolo.

Attendere 5-10 minuti prima di usare le credenziali per il montaggio

Impostare la variabile di ambiente per le credenziali OAuth

Aprire un prompt dei comandi in un computer client in grado di accedere al cluster Big Data. Impostare una variabile di ambiente usando il formato seguente. Le credenziali devono essere inserite in un elenco delimitato da virgole. Il comando "set" viene usato in Windows. Se si usa Linux, usare invece "export".

Nota: quando si forniscono le credenziali, è necessario rimuovere tutte le interruzioni di riga o lo spazio tra le virgole ",". La formattazione seguente è finalizzata solo a semplificare la lettura.

   set MOUNT_CREDENTIALS=fs.azure.account.auth.type=OAuth,
   fs.azure.account.oauth.provider.type=org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider,
   fs.azure.account.oauth2.client.endpoint=[token endpoint],
   fs.azure.account.oauth2.client.id=[Application client ID],
   fs.azure.account.oauth2.client.secret=[client secret]

Usare le chiavi di accesso per il montaggio

È anche possibile eseguire il montaggio usando chiavi di accesso che è possibile ottenere per l'account ADLS nel portale di Azure.

Suggerimento

Per altre informazioni su come trovare la chiave di accesso (<storage-account-access-key>) per l'account di archiviazione, vedere Visualizzare la stringa di connessione e le chiavi dell'account.

Impostare la variabile di ambiente per le credenziali della chiave di accesso

  1. Aprire un prompt dei comandi in un computer client in grado di accedere al cluster Big Data.

  2. Aprire un prompt dei comandi in un computer client in grado di accedere al cluster Big Data. Impostare una variabile di ambiente usando il formato seguente. Le credenziali devono essere inserite in un elenco delimitato da virgole. Il comando "set" viene usato in Windows. Se si usa Linux, usare invece "export".

Nota: quando si forniscono le credenziali, è necessario rimuovere tutte le interruzioni di riga o lo spazio tra le virgole ",". La formattazione seguente è finalizzata solo a semplificare la lettura.

set MOUNT_CREDENTIALS=fs.azure.abfs.account.name=<your-storage-account-name>.dfs.core.windows.net,
fs.azure.account.key.<your-storage-account-name>.dfs.core.windows.net=<storage-account-access-key>

Montare la risorsa di archiviazione HDFS remota

Ora che è stata impostata la variabile di ambiente MOUNT_CREDENTIALS per le chiavi di accesso o tramite OAuth, è possibile iniziare il montaggio. La procedura seguente consente di montare la risorsa di archiviazione HDFS remota in Azure Data Lake nell'archiviazione HDFS locale del cluster Big Data.

  1. Usare kubectl per trovare l'indirizzo IP per il servizio controller-svc-external dell'endpoint nel cluster Big Data. Cercare External-IP.

    kubectl get svc controller-svc-external -n <your-big-data-cluster-name>
    
  2. Accedere con azdata usando l'indirizzo IP esterno dell'endpoint del controller con il nome utente e la password del cluster:

    azdata login -e https://<IP-of-controller-svc-external>:30080
    
  3. Impostare la variabile di ambiente MOUNT_CREDENTIALS (scorrere verso l'alto per istruzioni)

  4. Montare la risorsa di archiviazione HDFS remota in Azure usando azdata bdc hdfs mount create. Sostituire i valori segnaposto prima di eseguire il comando seguente:

    azdata bdc hdfs mount create --remote-uri abfs://<blob-container-name>@<storage-account-name>.dfs.core.windows.net/ --mount-path /mounts/<mount-name>
    

    Nota

    Il comando mount create è asincrono. A questo punto, non sono presenti messaggi che indicano se il montaggio è riuscito o meno. Vedere la sezione relativa allo stato per controllare lo stato dei montaggi.

Se il montaggio è riuscito, dovrebbe essere possibile eseguire una query sui dati di HDFS, nonché eseguire processi Spark. Il montaggio verrà visualizzato in HDFS per il cluster Big Data nel percorso specificato da --mount-path.

Ottenere lo stato dei montaggi

Per elencare lo stato di tutti i montaggi nel cluster Big Data, usare il comando seguente:

azdata bdc hdfs mount status

Per elencare lo stato di un montaggio in un percorso specifico in HDFS, usare il comando seguente:

azdata bdc hdfs mount status --mount-path <mount-path-in-hdfs>

Aggiornare un montaggio

L'esempio seguente aggiorna il montaggio. Questo aggiornamento cancellerà anche la cache di montaggio.

azdata bdc hdfs mount refresh --mount-path <mount-path-in-hdfs>

Eliminare il montaggio

Per eliminare il montaggio, usare il comando azdata bdc hdfs mount delete e specificare il percorso di montaggio in HDFS:

azdata bdc hdfs mount delete --mount-path <mount-path-in-hdfs>

Passaggi successivi

Per altre informazioni sui cluster Big Data di SQL Server 2019, vedere Introduzione ai cluster Big Data di SQL Server 2019.