Usare Azure Data Lake Storage Gen2 con cluster Azure HDInsight

Azure Data Lake Archiviazione Gen2 è un servizio di archiviazione cloud dedicato all'analisi dei Big Data, basato sull'archiviazione BLOB di Azure. Data Lake Archiviazione Gen2 combina le funzionalità di Archiviazione BLOB di Azure e Azure Data Lake Archiviazione Gen1. Il servizio risultante offre funzionalità di Azure Data Lake Archiviazione Gen1, 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 Archiviazione 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 Archiviazione Gen2 è disponibile come opzione di archiviazione per quasi tutti i tipi di cluster Azure HDInsight come account di archiviazione predefinito e aggiuntivo. HBase, tuttavia, può avere un solo account con Data Lake Archiviazione Gen2.

Nota

Dopo aver selezionato Data Lake Archiviazione Gen2 come tipo di archiviazione primario, non è possibile selezionare un data lake Archiviazione Gen1 come risorsa di archiviazione aggiuntiva.

Creare cluster HDInsight con Data Lake Archiviazione Gen2

Usare i collegamenti seguenti per istruzioni dettagliate su come creare cluster HDInsight con accesso a Data Lake Archiviazione Gen2.

Controllo di accesso per Data Lake Archiviazione Gen2 in HDInsight

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

Data Lake Archiviazione Gen2 usa un modello di controllo di accesso che supporta sia il controllo degli accessi in base al ruolo di Azure che gli elenchi di controllo di accesso simili a POSIX. Data Lake Archiviazione Gen1 supporta gli elenchi di controllo di accesso solo per controllare l'accesso ai dati.

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

Per altre informazioni sulle autorizzazioni per i file con il controllo degli accessi in base al ruolo di Azure, vedere Controllo degli accessi in base al ruolo di Azure.

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

Ricerca per categorie controllare l'accesso ai dati in Data Lake Archiviazione 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.

I servizi di Azure hanno due tipi di identità gestite: assegnate dal sistema e assegnate dall'utente. HDInsight usa identità gestite assegnate dall'utente per accedere a Data Lake Storage Gen2. Un user-assigned managed identity oggetto 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 Che cosa sono le identità gestite per le risorse di Azure?

Ricerca per categorie impostare le autorizzazioni per gli utenti di Microsoft Entra per eseguire query sui dati in Data Lake Archiviazione 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. Con i gruppi di sicurezza di Microsoft Entra per controllare il flusso delle autorizzazioni, è possibile aggiungere e rimuovere utenti o entità servizio senza riapplicare gli ACL a un'intera struttura di directory. È sufficiente aggiungere o rimuovere gli utenti dal gruppo di sicurezza Microsoft Entra appropriato. Gli ACL non vengono ereditati, quindi la riapplicazione degli elenchi di controllo di accesso richiede l'aggiornamento dell'ACL in ogni file e sottodirectory.

Accedere ai file dal cluster

Esistono diversi modi per accedere ai file in Data Lake Archiviazione 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