Avro-format i Azure Data Factory och Synapse Analytics
GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics
Dricks
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
Följ den här artikeln när du vill parsa Avro-filer eller skriva data i Avro-format.
Avro-format stöds för följande anslutningsappar: Amazon S3, Amazon S3 Compatible Storage, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, File System, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage och SFTP.
Egenskaper för datauppsättning
En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera datauppsättningar finns i artikeln Datauppsättningar . Det här avsnittet innehåller en lista över egenskaper som stöds av Avro-datauppsättningen.
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Datamängdens typegenskap måste anges till Avro. | Ja |
plats | Platsinställningar för filen eller filerna. Varje filbaserad anslutningsapp har en egen platstyp och egenskaper som stöds under location . Mer information finns i artikeln om anslutningsappar –> avsnittet Egenskaper för datauppsättning. |
Ja |
avroCompressionCodec | Komprimeringskodcen som ska användas när du skriver till Avro-filer. När du läser från Avro-filer avgör tjänsten automatiskt komprimeringskodcen baserat på filmetadata. Typer som stöds är "none" (standard), "deflate", "snappy". Observera att aktiviteten Kopiera för närvarande inte stöder Snappy när du läser/skriver Avro-filer. |
Nej |
Kommentar
Tomt utrymme i kolumnnamnet stöds inte för Avro-filer.
Nedan visas ett exempel på Avro-datauppsättning i Azure Blob Storage:
{
"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"
}
}
}
Kopiera egenskaper för aktivitet
En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera aktiviteter finns i artikeln Pipelines . Det här avsnittet innehåller en lista över egenskaper som stöds av Avro-källan och mottagaren.
Avro som källa
Följande egenskaper stöds i avsnittet kopieringsaktivitet *källa* .
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen för kopieringsaktivitetskällan måste anges till AvroSource. | Ja |
storeSettings | En grupp med egenskaper för hur du läser data från ett datalager. Varje filbaserad anslutningsapp har egna läsinställningar som stöds under storeSettings . Mer information finns i artikeln om anslutningsappar –> aktiviteten Kopiera egenskaper. |
Nej |
Avro som mottagare
Följande egenskaper stöds i avsnittet kopieringsaktivitet *mottagare* .
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen för kopieringsaktivitetskällan måste anges till AvroSink. | Ja |
formatInställningar | En grupp med egenskaper. Se tabellen för avro-skrivinställningar nedan. | Nej |
storeSettings | En grupp med egenskaper för hur du skriver data till ett datalager. Varje filbaserad anslutningsapp har egna skrivinställningar som stöds under storeSettings . Mer information finns i artikeln om anslutningsappar –> aktiviteten Kopiera egenskaper. |
Nej |
Avro-skrivinställningar som stöds under formatSettings
:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typen av formatInställningar måste anges till AvroWriteSettings. | Ja |
maxRowsPerFile | När du skriver data till en mapp kan du välja att skriva till flera filer och ange maximalt antal rader per fil. | Nej |
fileNamePrefix | Tillämpligt när maxRowsPerFile har konfigurerats.Ange filnamnsprefixet när du skriver data till flera filer, vilket resulterade i det här mönstret: <fileNamePrefix>_00000.<fileExtension> . Om det inte anges genereras filnamnsprefixet automatiskt. Den här egenskapen gäller inte när källan är filbaserad lagring eller partitionsalternativaktiverat datalager. |
Nej |
Mappa dataflödesegenskaper
När du mappar dataflöden kan du läsa och skriva till avro-format i följande datalager: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2 och SFTP, och du kan läsa avro-format i Amazon S3.
Källegenskaper
Tabellen nedan visar de egenskaper som stöds av en avro-källa. Du kan redigera dessa egenskaper på fliken Källalternativ .
Name | beskrivning | Obligatoriskt | Tillåtna värden | Egenskap för dataflödesskript |
---|---|---|---|---|
Sökvägar för jokertecken | Alla filer som matchar sökvägen för jokertecken bearbetas. Åsidosätter den mapp och filsökväg som angetts i datauppsättningen. | nej | Sträng[] | wildcardPaths |
Partitionsrotsökväg | För fildata som är partitionerade kan du ange en partitionsrotsökväg för att läsa partitionerade mappar som kolumner | nej | String | partitionRootPath |
Lista över filer | Om källan pekar på en textfil som visar filer som ska bearbetas | nej | true eller false |
fileList |
Kolumn för att lagra filnamn | Skapa en ny kolumn med källfilens namn och sökväg | nej | String | rowUrlColumn |
Efter slutförande | Ta bort eller flytta filerna efter bearbetningen. Filsökvägen startar från containerroten | nej | Ta bort: true eller false Flytta: ['<from>', '<to>'] |
purgeFiles moveFiles |
Filtrera efter senast ändrad | Välj att filtrera filer baserat på när de senast ändrades | nej | Tidsstämpel | modifiedAfter modifiedBefore |
Tillåt att inga filer hittas | Om sant utlöses inte ett fel om inga filer hittas | nej | true eller false |
ignoreNoFilesFound |
Egenskaper för mottagare
Tabellen nedan visar de egenskaper som stöds av en avro-mottagare. Du kan redigera de här egenskaperna på fliken Inställningar .
Name | beskrivning | Obligatoriskt | Tillåtna värden | Egenskap för dataflödesskript |
---|---|---|---|---|
Rensa mappen | Om målmappen rensas före skrivning | nej | true eller false |
trunkera |
Filnamnsalternativ | Namngivningsformatet för de data som skrivits. Som standard är en fil per partition i format part-#####-tid-<guid> |
nej | Mönster: Sträng Per partition: String[] Som data i kolumnen: Sträng Utdata till en enskild fil: ['<fileName>'] |
filePattern partitionFileNames rowUrlColumn partitionFileNames |
Offert alla | Omslut alla värden inom citattecken | nej | true eller false |
quoteAll |
Stöd för datatyp
Kopieringsaktivitet
Avro-komplexa datatyper stöds inte (poster, uppräkningar, matriser, kartor, fackföreningar och fasta) i Kopieringsaktivitet.
Dataflöden
När du arbetar med Avro-filer i dataflöden kan du läsa och skriva komplexa datatyper, men se till att rensa det fysiska schemat från datauppsättningen först. I dataflöden kan du ange din logiska projektion och härleda kolumner som är komplexa strukturer och sedan automatiskt mappa dessa fält till en Avro-fil.