Condividi tramite


Usare Azure Data Lake Storage Gen2 con cluster Azure HDInsight

Azure Data Lake Storage Gen2 è servizio di archiviazione cloud dedicato all'analisi dei Big Data, disponibile in Archiviazione BLOB di Azure. Il servizio risultante offre funzionalità di Azure Data Lake Storage, tra cui semantica del file system, sicurezza a livello di directory e a livello di file e adattabilità. Oltre alle funzionalità di archiviazione a basso costo, a livelli, disponibilità elevata e ripristino di emergenza da Archiviazione BLOB di Azure.

Per un confronto completo delle opzioni di creazione del cluster con Data Lake Storage Gen2, vedere Confrontare le opzioni di archiviazione per l'uso con i cluster Azure HDInsight.

Avviso

La fatturazione dei cluster HDInsight viene calcolata al minuto, indipendentemente dal fatto che siano usati o meno. Assicurarsi di eliminare il cluster dopo aver finito di usarlo. Vedere Come eliminare un cluster HDInsight.

Disponibilità di Data Lake Storage Gen2

Data Lake Storage Gen2 è disponibile come opzione di archiviazione per quasi tutti i tipi di cluster Azure HDInsight, sia come account di archiviazione predefinito che come account di archiviazione aggiuntivo. HBase, tuttavia, può avere un solo account con Data Lake Storage Gen2.

Nota

Dopo aver selezionato Data Lake Storage Gen2 come tipo di archiviazione primario, non è possibile selezionare un'archiviazione aggiuntiva Data Lake Storage Gen1.

Creare cluster HDInsight con Data Lake Storage Gen2

Usare i link seguenti per informazioni dettagliate su come creare cluster HDInsight con accesso a Data Lake Storage Gen2.

Controllo di accesso per Azure Data Lake Storage Gen2 in HDInsight

Quali tipi di autorizzazioni sono supportati da Data Lake Storage Gen2?

Data Lake Storage Gen2 usa un modello di controllo di accesso che supporta sia il controllo degli accessi in base al ruolo di Azure (Azure RBAC) che gli elenchi di controllo di accesso (ACL) di tipo POSIX.

Il controllo degli accessi in base al ruolo di Azure usa le assegnazioni di ruolo per applicare in modo efficace set di autorizzazioni a utenti, gruppi ed entità servizio per le risorse di Azure. Tali risorse di Azure sono in genere vincolate alle risorse di primo livello (ad esempio gli account di Archiviazione BLOB di Azure). Per Archiviazione BLOB di Azure, e anche per Data Lake Storage Gen2, questo meccanismo è stato esteso alla risorsa del file system.

Per altre informazioni sulle autorizzazioni sui file con il controllo degli accessi in base al ruolo di Azure, vedere Controllo degli accessi in base al ruolo di Azure (Azure RBAC).

Per altre informazioni sulle autorizzazioni per i file con gli elenchi di controllo di accesso, vedere Elenchi di controllo di accesso per file e directory.

Come si controlla l'accesso ai dati in Data Lake Storage Gen2?

La capacità del cluster HDInsight di accedere ai file in Data Lake Storage Gen2 è controllata dalle identità gestite. Un'identità gestita è un'identità registrata in Microsoft Entra le cui credenziali sono gestite da Azure. Con le identità gestite non è necessario registrare le entità servizio nell'ID Microsoft Entra. Oppure mantenere le credenziali, ad esempio i certificati.

Sono disponibili due tipi di identità gestite per i servizi di Azure: assegnata dal sistema e assegnata dall'utente. HDInsight usa identità gestite assegnate dall'utente per accedere a Data Lake Storage Gen2. Un oggetto user-assigned managed identity viene creato come risorsa di Azure autonoma. Tramite un processo di creazione, Azure crea un'identità nel tenant di Microsoft Entra considerato attendibile dalla sottoscrizione in uso. Dopo la creazione, l'identità può essere assegnata a una o più istanze del servizio di Azure.

Il ciclo di vita di un'identità assegnata dall'utente viene gestito separatamente dal ciclo di vita delle istanze del servizio di Azure a cui l'identità è assegnata. Per altre informazioni sulle identità gestite, vedere Informazioni sulle identità gestite per le risorse di Azure.

Come si impostano le autorizzazioni per consentire agli utenti di Microsoft Entra di eseguire query sui dati in Data Lake Storage Gen2 usando Hive o altri servizi?

Per impostare le autorizzazioni per gli utenti per eseguire query sui dati, usare i gruppi di sicurezza di Microsoft Entra come entità assegnata negli ACL. Non assegnare direttamente le autorizzazioni di accesso ai file a singoli utenti o entità servizio. Quando si usano i gruppi di sicurezza di Microsoft Entra per controllare il flusso delle autorizzazioni, è possibile aggiungere e rimuovere utenti ed entità servizio senza riapplicare gli elenchi di controllo di accesso a un'intera struttura di directory. È sufficiente aggiungere o rimuovere gli utenti dal gruppo di sicurezza di Microsoft Entra appropriato. Gli elenchi di controllo di accesso non vengono ereditati, quindi per riapplicarli è necessario aggiornare l'elenco di controllo di accesso in ogni file e sottodirectory.

Accedere ai file dal cluster

Esistono differenti modi per accedere ai file in Data Lake Storage Gen2 da un cluster HDInsight.

  • Uso di nomi completi. Con questo approccio viene fornito il percorso completo al file a cui si desidera accedere.

    abfs://<containername>@<accountname>.dfs.core.windows.net/<file.path>/
    
  • Uso del formato con percorso abbreviato. Con questo approccio si sostituisce il percorso fino alla radice del cluster con:

    abfs:///<file.path>/
    
  • Uso del percorso relativo. Con questo approccio viene fornito unicamente il percorso relativo al file a cui si desidera accedere.

    /<file.path>/
    

Esempi di accesso ai dati

Gli esempi sono basati su una connessione SSH al nodo head del cluster. Negli esempi vengono usati tutti e tre gli schemi URI. Sostituire CONTAINERNAME e STORAGEACCOUNT con i valori appropriati

Alcuni comandi HDFS

  1. Creare un file nell'archiviazione locale.

    touch testFile.txt
    
  2. Creare directory nell'archiviazione del cluster.

    hdfs dfs -mkdir abfs://CONTAINERNAME@STORAGEACCOUNT.dfs.core.windows.net/sampledata1/
    hdfs dfs -mkdir abfs:///sampledata2/
    hdfs dfs -mkdir /sampledata3/
    
  3. Copiare i dati dall'archiviazione locale all'archiviazione del cluster.

    hdfs dfs -copyFromLocal testFile.txt  abfs://CONTAINERNAME@STORAGEACCOUNT.dfs.core.windows.net/sampledata1/
    hdfs dfs -copyFromLocal testFile.txt  abfs:///sampledata2/
    hdfs dfs -copyFromLocal testFile.txt  /sampledata3/
    
  4. Elencare il contenuto della directory nell'archiviazione del cluster.

    hdfs dfs -ls abfs://CONTAINERNAME@STORAGEACCOUNT.dfs.core.windows.net/sampledata1/
    hdfs dfs -ls abfs:///sampledata2/
    hdfs dfs -ls /sampledata3/
    

Creazione di una tabella Hive

Per scopi illustrativi, vengono visualizzati tre percorsi di file. Per l'esecuzione effettiva, usare solo una delle voci LOCATION.

DROP TABLE myTable;
CREATE EXTERNAL TABLE myTable (
    t1 string,
    t2 string,
    t3 string,
    t4 string,
    t5 string,
    t6 string,
    t7 string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
STORED AS TEXTFILE
LOCATION 'abfs://CONTAINERNAME@STORAGEACCOUNT.dfs.core.windows.net/example/data/';
LOCATION 'abfs:///example/data/';
LOCATION '/example/data/';

Passaggi successivi