Condividi tramite


Procedure consigliate per la scrittura in file in data lake con flussi di dati

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Se non si ha familiarità con Azure Data Factory, vedere Introduzione ad Azure Data Factory.

In questa esercitazione verranno illustrate le procedure consigliate che possono essere applicate durante la scrittura di file in ADLS Gen2 o Archiviazione BLOB di Azure usando i flussi di dati. È necessario accedere a un account Archiviazione BLOB di Azure o azure Data Lake Store Gen2 per leggere un file Parquet e quindi archiviare i risultati nelle cartelle.

Prerequisiti

I passaggi di questa esercitazione presuppongono che l'utente abbia

Creare una data factory

In questo passaggio si crea una data factory e si apre l'esperienza utente di Data Factory per creare una pipeline nella data factory.

  1. Aprire Microsoft Edge o Google Chrome. Attualmente, l'interfaccia utente di Data Factory è supportata solo nei Web browser Microsoft Edge e Google Chrome.

  2. Nel menu a sinistra selezionare Crea una risorsa>Integration>Data Factory

  3. Nella pagina Nuova data factory immettere ADFTutorialDataFactory in Nome

  4. Selezionare la sottoscrizione di Azure in cui creare la data factory.

  5. In Gruppo di risorse eseguire una di queste operazioni:

    a. Selezionare Usa esistentee scegliere un gruppo di risorse esistente dall'elenco a discesa.

    b. Selezionare Crea nuovo e immettere il nome di un gruppo di risorse. Per informazioni sui gruppi di risorse, vedere Usare i gruppi di risorse per gestire le risorse di Azure.

  6. In Versione selezionare V2.

  7. In Località selezionare una località per la data factory. Nell'elenco a discesa vengono mostrate solo le località supportate. Gli archivi dati (ad esempio, Archiviazione di Azure e database SQL) e i calcoli (ad esempio, Azure HDInsight) usati dalla data factory possono trovarsi in altre aree.

  8. Seleziona Crea.

  9. Al termine della creazione, la relativa notifica verrà visualizzata nel centro notifiche. Selezionare Vai alla risorsa per passare alla pagina della data factory.

  10. Selezionare Crea e monitora per avviare l'interfaccia utente di Data Factory in una scheda separata.

Creare una pipeline con un'attività del flusso di dati

In questo passaggio si creerà una pipeline che contiene un'attività del flusso di dati.

  1. Nella home page di Azure Data Factory selezionare Orchestrate .On the home page of Azure Data Factory, select Orchestrate.

    Screenshot that shows the data factory home page with the Orchestrate button highlighted.

  2. Nella scheda Generale della pipeline immettere DeltaLake per Nome della pipeline.

  3. Nella barra superiore della factory scorrere il dispositivo di scorrimento Flusso di dati debug. La modalità di debug consente il test interattivo della logica di trasformazione in un cluster Spark attivo. Flusso di dati i cluster richiedono 5-7 minuti e gli utenti sono consigliati per attivare il debug prima se prevedono di eseguire Flusso di dati sviluppo. Per altre informazioni, vedere Modalità di debug.

    Data Flow Activity

  4. Nel riquadro Attività espandere la fisarmonica Sposta e Trasforma. Trascinare e rilasciare l'attività Flusso di dati dal riquadro all'area di disegno della pipeline.

    Screenshot that shows the pipeline canvas where you can drop the Data Flow activity.

  5. Nella finestra popup Aggiunta Flusso di dati selezionare Crea nuovo Flusso di dati e quindi assegnare un nome DeltaLake al flusso di dati. Fare clic su Fine al termine.

    Screenshot that shows where you name your data flow when you create a new data flow.

Compilare la logica di trasformazione nell'area di disegno del flusso di dati

Verranno accettati dati di origine (in questa esercitazione si userà un'origine file Parquet) e si userà una trasformazione sink per trasferire i dati in formato Parquet usando i meccanismi più efficaci per data lake ETL.

Final flow

Obiettivi dell'esercitazione

  1. Scegliere uno dei set di dati di origine in un nuovo flusso di dati 1. Usare i flussi di dati per partizionare in modo efficace il set di dati sink
  2. Trasferire i dati partizionati nelle cartelle di ADLS Gen2 Lake

Iniziare da un'area di disegno del flusso di dati vuota

Prima di tutto, configurare l'ambiente del flusso di dati per ognuno dei meccanismi descritti di seguito per i dati di destinazione in ADLS Gen2

  1. Fare clic sulla trasformazione di origine.
  2. Fare clic sul nuovo pulsante accanto al set di dati nel pannello inferiore.
  3. Scegliere un set di dati o crearne uno nuovo. Per questa demo si userà un set di dati Parquet denominato Dati utente.
  4. Aggiungere una trasformazione Colonna derivata. Verrà usato come modo per impostare i nomi delle cartelle desiderati in modo dinamico.
  5. Aggiungere una trasformazione sink.

Output della cartella gerarchica

È molto comune usare valori univoci nei dati per creare gerarchie di cartelle per partizionare i dati nel lake. Si tratta di un modo molto ottimale per organizzare ed elaborare i dati nel lake e in Spark (il motore di calcolo dietro i flussi di dati). Tuttavia, ci sarà un costo ridotto per le prestazioni per organizzare l'output in questo modo. Prevedere una riduzione ridotta delle prestazioni complessive della pipeline usando questo meccanismo nel sink.

  1. Tornare alla finestra di progettazione del flusso di dati e modificare il flusso di dati creato in precedenza. Fare clic sulla trasformazione sink.
  2. Fare clic su Ottimizza > imposta chiave di > partizionamento
  3. Selezionare le colonne da usare per impostare la struttura di cartelle gerarchica.
  4. Si noti che l'esempio seguente usa year e month come colonne per la denominazione delle cartelle. I risultati saranno cartelle del modulo releaseyear=1990/month=8.
  5. Quando si accede alle partizioni di dati in un'origine del flusso di dati, si punterà solo alla cartella di primo livello precedente releaseyear e si userà un criterio con caratteri jolly per ogni cartella successiva, ad esempio: **/**/*.parquet
  6. Per modificare i valori dei dati o anche se è necessario generare valori sintetici per i nomi delle cartelle, usare la trasformazione Colonna derivata per creare i valori da usare nei nomi delle cartelle.

Key partitioning

Cartella nome come valori di dati

Una tecnica sink con prestazioni leggermente migliori per i dati lake tramite ADLS Gen2 che non offre lo stesso vantaggio del partizionamento chiave/valore, è Name folder as column data. Mentre lo stile di partizionamento delle chiavi della struttura gerarchica consentirà di elaborare più facilmente le sezioni di dati, questa tecnica è una struttura di cartelle bidimensionale in grado di scrivere più rapidamente i dati.

  1. Tornare alla finestra di progettazione del flusso di dati e modificare il flusso di dati creato in precedenza. Fare clic sulla trasformazione sink.
  2. Fare clic su Ottimizza > set di partizionamento > Usa partizionamento corrente.
  3. Fare clic su Impostazioni > cartella Nome come dati di colonna.
  4. Selezionare la colonna da usare per generare nomi di cartelle.
  5. Per modificare i valori dei dati o anche se è necessario generare valori sintetici per i nomi delle cartelle, usare la trasformazione Colonna derivata per creare i valori da usare nei nomi delle cartelle.

Folder option

Nome file come valori di dati

Le tecniche elencate nelle esercitazioni precedenti sono casi d'uso validi per la creazione di categorie di cartelle nel data lake. Lo schema di denominazione dei file predefinito usato da queste tecniche consiste nell'usare l'ID processo dell'executor Spark. A volte è possibile impostare il nome del file di output in un sink di testo del flusso di dati. Questa tecnica è consigliata solo per l'uso con file di piccole dimensioni. Il processo di unione dei file di partizione in un singolo file di output è un processo a esecuzione prolungata.

  1. Tornare alla finestra di progettazione del flusso di dati e modificare il flusso di dati creato in precedenza. Fare clic sulla trasformazione sink.
  2. Fare clic su Ottimizza > imposta partizionamento > singola. Si tratta di questo requisito di singola partizione che crea un collo di bottiglia nel processo di esecuzione man mano che i file vengono uniti. Questa opzione è consigliata solo per i file di piccole dimensioni.
  3. Fare clic su Impostazioni > File nome come dati di colonna.
  4. Selezionare la colonna da usare per generare nomi di file.
  5. Per modificare i valori dei dati o anche se è necessario generare valori sintetici per i nomi di file, usare la trasformazione Colonna derivata per creare i valori da usare nei nomi di file.

Altre informazioni sui sink del flusso di dati.