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 all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!
Seguire questo articolo quando si vuole analizzare i file Avro o scrivere i dati in formato Avro.
l formato Avro è supportato per i connettori seguenti: Amazon S3, Archiviazione compatibile con Amazon S3BLOB di Azure, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, File di Azure, File system, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage 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 |
---|---|---|
type | La proprietà type del set di dati deve essere impostata su Avro. | Sì |
location | Impostazioni di posizione dei file. Ogni connettore basato su file ha il proprio tipo di percorso e le proprietà supportate in location . Vedere i dettagli nell'articolo del connettore -> sezione Proprietà del set di dati. |
Sì |
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 l'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.
Xero come origine
Nella sezione *source* dell'attività Copy sono supportate le proprietà seguenti.
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà type dell'origine dell'attività Copy deve essere impostata su AvroSource. | Sì |
storeSettings | Gruppo di proprietà su come leggere i dati da un archivio dati. Ogni connettore basato su file dispone di impostazioni di lettura proprie supportate in storeSettings . Vedere i dettagli nell'articolo del connettore -> sezione Proprietà dell'attività Copy. |
No |
Avro come sink
Nella sezione *sink* dell'attività Copy sono supportate le proprietà seguenti.
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà type dell'origine dell'attività Copy deve essere impostata su AvroSink. | Sì |
formatSettings | Gruppo di proprietà. Fare riferimento alla tabella impostazioni di scrittura Avro seguente. | No |
storeSettings | Gruppo di proprietà su come scrivere i dati in un archivio dati. Ogni connettore basato su file dispone di impostazioni di scrittura supportate in storeSettings . Vedere i dettagli nell'articolo del connettore -> sezione Proprietà dell'attività Copy. |
No |
Impostazioni di scrittura Avro supportate in formatSettings
:
Proprietà | Descrizione | Richiesto |
---|---|---|
type | Il tipo di formatSettings deve essere impostato su AvroWriteSettings. | Sì |
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 ha dato luogo a questo motivo: <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 archivio dati abilitato per l'opzione di partizione. |
No |
Proprietà del flusso di dati per mapping
In flussi di dati di mappingè possibile leggere e scrivere in formato Avro negli archivi dati seguenti: Archiviazione BLOB di Azure, Azure Data Lake Storage Gen1, Azure Data Lake Storage 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.
Nome | Descrizione | Richiesto | Valori consentiti | Proprietà script del 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 dei file partizionati, è possibile immettere un percorso radice della partizione per leggere le cartelle partizionate come colonne | no | String | partitionRootPath |
Elenco di file | Indica se l'origine punta a un file di testo che elenca i file da elaborare | no | true oppure false |
fileList |
Colonna in cui archiviare il nome file | Creare una nuova colonna con il nome e il percorso del file di origine | no | String | rowUrlColumn |
Dopo il completamento | Eliminare o spostare i file dopo l'elaborazione. Il percorso del file inizia dalla radice del contenitore | no | Eliminare: true o false Spostare: ['<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 oppure false |
ignoreNoFilesFound |
Proprietà sink
La tabella seguente elenca le proprietà supportate da un sink Avro. È possibile modificare queste proprietà nella scheda Impostazioni.
Nome | Descrizione | Richiesto | Valori consentiti | Proprietà script del flusso di dati |
---|---|---|---|---|
Cancellare la cartella | Se la cartella di destinazione viene cancellata prima della scrittura | no | true oppure false |
truncate |
Opzione Nome file | Formato di denominazione dei dati scritti. Per impostazione predefinita, un file per partizione in formato part-#####-tid-<guid> |
no | Motivo: Stringa Per partizione: Stringa[] Come dati nella colonna: Stringa Output in un singolo file: ['<fileName>'] |
filePattern partitionFileNames rowUrlColumn partitionFileNames |
Racchiudi tutto tra virgolette | Racchiudere tutti i valori tra virgolette | no | true oppure false |
quoteAll |
Supporto dei tipi di dati
Attività di copia
I tipi di dati complessi non sono supportati (record, enumerazioni, matrici, mappe, unioni e dati fissi) in un'attività Copy.
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.