Formato Avro in Azure Data Factory e Synapse Analytics

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 .

Seguire questo articolo quando si vogliono analizzare i file Avro o scrivere i dati in formato Avro.

Il formato Avro è supportato per i connettori seguenti: Amazon S3, Amazon S3 Compatible Archiviazione, Azure Blob, Azure Data Lake Archiviazione Gen1, Azure Data Lake Archiviazione Gen2, File di Azure, File System, FTP, Google Cloud Archiviazione, HDFS, HTTP, Oracle Cloud Archiviazione e SFTP.

Proprietà del set di dati

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di dati, vedere l'articolo Set di dati. Questa sezione fornisce un elenco delle proprietà supportate dal set di dati Avro.

Proprietà Descrizione Richiesto
Tipo La proprietà type del set di dati deve essere impostata su Avro.
posizione Impostazioni del percorso dei file. Ogni connettore basato su file ha il proprio tipo di percorso e le proprietà supportate in location. Vedere i dettagli nell'articolo connettore -> Sezione Proprietà set di dati.
avroCompressionCodec Codec di compressione da usare per la scrittura nei file Avro. Durante la lettura dai file Avro, il servizio determina automaticamente il codec di compressione in base ai metadati del file.
I tipi supportati sono "none" (impostazione predefinita), "deflate", "snappy". Nota attualmente attività Copy non supporta Snappy quando i file Avro di lettura/scrittura.
No

Nota

Lo spazio vuoto nel nome della colonna non è supportato per i file Avro.

Di seguito è riportato un esempio di set di dati Avro in Archiviazione BLOB di Azure:

{
    "name": "AvroDataset",
    "properties": {
        "type": "Avro",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder",
            },
            "avroCompressionCodec": "snappy"
        }
    }
}

Proprietà dell'attività di copia

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. Questa sezione fornisce un elenco delle proprietà supportate dall'origine e dal sink Avro.

Avro come origine

Nella sezione *source* dell'attività di copia sono supportate le proprietà seguenti.

Proprietà Descrizione Richiesto
Tipo La proprietà type dell'origine dell'attività di copia deve essere impostata su AvroSource.
store Impostazioni Gruppo di proprietà su come leggere i dati da un archivio dati. Ogni connettore basato su file ha le proprie impostazioni di lettura supportate in storeSettings. Vedere i dettagli nell'articolo connettore -> attività Copy sezione delle proprietà. No

Avro come sink

Nella sezione *sink* dell'attività di copia sono supportate le proprietà seguenti.

Proprietà Descrizione Richiesto
Tipo La proprietà type dell'origine dell'attività di copia deve essere impostata su AvroSink.
formato Impostazioni Gruppo di proprietà. Fare riferimento alla tabella delle impostazioni di scrittura avro di seguito. No
store Impostazioni Gruppo di proprietà su come scrivere dati in un archivio dati. Ogni connettore basato su file ha impostazioni di scrittura supportate in storeSettings. Vedere i dettagli nell'articolo connettore -> attività Copy sezione delle proprietà. No

Impostazioni di scrittura avro supportate in formatSettings:

Proprietà Descrizione Richiesto
Tipo Il tipo di formato Impostazioni deve essere impostato su AvroWrite Impostazioni.
maxRowsPerFile Quando si scrivono dati in una cartella, è possibile scegliere di scrivere in più file e specificare il numero massimo di righe per file. No
fileNamePrefix Applicabile quando maxRowsPerFile è configurato.
Specificare il prefisso del nome file durante la scrittura di dati in più file, con questo modello: <fileNamePrefix>_00000.<fileExtension>. Se non specificato, il prefisso del nome file verrà generato automaticamente. Questa proprietà non si applica quando l'origine è l'archivio basato su file o l'archivio dati abilitato per l'opzione di partizione.
No

Proprietà del flusso di dati per mapping

Nei flussi di dati di mapping è possibile leggere e scrivere in formato avro negli archivi dati seguenti: Archiviazione BLOB di Azure, Azure Data Lake Archiviazione Gen1, Azure Data Lake Archiviazione Gen2 e SFTP ed è possibile leggere il formato avro in Amazon S3.

Proprietà di origine

La tabella seguente elenca le proprietà supportate da un'origine avro. È possibile modificare queste proprietà nella scheda Opzioni origine.

Name Descrizione Richiesto Valori consentiti Proprietà script flusso di dati
Percorsi con caratteri jolly Verranno elaborati tutti i file corrispondenti al percorso con caratteri jolly. Esegue l'override della cartella e del percorso del file impostato nel set di dati. no String[] wildcardPaths
Partition Root Path (Percorso radice partizione) Per i dati di file partizionati, è possibile immettere un percorso radice della partizione per leggere le cartelle partizionate come colonne no Stringa partitionRootPath
Elenco di file Indica se l'origine punta a un file di testo che elenca i file da elaborare no true o false Filelist
Colonna in cui archiviare il nome file Creare una nuova colonna con il nome e il percorso del file di origine no Stringa rowUrlColumn
Dopo il completamento Eliminare o spostare i file dopo l'elaborazione. Il percorso del file inizia dalla radice del contenitore no Elimina: true o false
Sposta: ['<from>', '<to>']
purgeFiles
moveFiles
Filtra per data ultima modifica Scegliere di filtrare i file in base all'ultima modifica no Timestamp: modifiedAfter
modifiedBefore
Consenti nessun file trovato Se true, un errore non viene generato se non vengono trovati file no true o false ignoreNoFilesFound

Proprietà sink

La tabella seguente elenca le proprietà supportate da un sink avro. È possibile modificare queste proprietà nella scheda Impostazioni.

Name Descrizione Richiesto Valori consentiti Proprietà script flusso di dati
Cancellare la cartella Se la cartella di destinazione viene cancellata prima della scrittura no true o false truncate
Opzione Nome file Formato di denominazione dei dati scritti. Per impostazione predefinita, un file per partizione in formato part-#####-tid-<guid> no Pattern: String
Per partizione: String[]
Come dati nella colonna: Stringa
Output in un singolo file: ['<fileName>']
filePattern
partitionFileNames
rowUrlColumn
partitionFileNames
Virgolette tutte Racchiudere tutti i valori tra virgolette no true o false virgoletteTutte

Supporto dei tipi di dati

Attività di copia

I tipi di dati complessi Avro non sono supportati (record, enumerazioni, matrici, mappe, unioni e correzioni) nell'attività di copia.

Flussi di dati

Quando si lavora con i file Avro nei flussi di dati, è possibile leggere e scrivere tipi di dati complessi, ma assicurarsi di cancellare prima lo schema fisico dal set di dati. Nei flussi di dati è possibile impostare la proiezione logica e derivare colonne complesse, quindi eseguire il mapping automatico di tali campi a un file Avro.