Avro-indeling in Azure Data Factory en Synapse Analytics

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

Volg dit artikel als u Avro-bestanden wilt parseren of de gegevens naar avro-indeling wilt schrijven.

Avro-indeling wordt ondersteund voor de volgende connectors: 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 en SFTP.

Eigenschappen van gegevensset

Zie het artikel Gegevenssets voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van gegevenssets . Deze sectie bevat een lijst met eigenschappen die worden ondersteund door de Avro-gegevensset.

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de gegevensset moet worden ingesteld op Avro. Ja
locatie Locatie-instellingen van de bestanden. Elke op bestanden gebaseerde connector heeft een eigen locatietype en ondersteunde eigenschappen onder location. Zie de details in het connectorartikel -> sectie Eigenschappen van gegevensset. Ja
avroCompressionCodec De compressiecodec die moet worden gebruikt bij het schrijven naar Avro-bestanden. Bij het lezen van Avro-bestanden bepaalt de service automatisch de compressiecodec op basis van de metagegevens van het bestand.
Ondersteunde typen zijn 'none' (standaard), 'deflate', 'snappy'. Opmerking momenteel Copy-activiteit geen ondersteuning biedt voor Snappy bij het lezen/schrijven van Avro-bestanden.
Nr.

Notitie

Witruimte in kolomnaam wordt niet ondersteund voor Avro-bestanden.

Hieronder ziet u een voorbeeld van een Avro-gegevensset in 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"
        }
    }
}

Eigenschappen van de kopieeractiviteit

Zie het artikel Pijplijnen voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van activiteiten. Deze sectie bevat een lijst met eigenschappen die worden ondersteund door de Avro-bron en -sink.

Avro als bron

De volgende eigenschappen worden ondersteund in de sectie kopieeractiviteit *source* .

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de bron van de kopieeractiviteit moet worden ingesteld op AvroSource. Ja
store Instellingen Een groep eigenschappen over het lezen van gegevens uit een gegevensarchief. Elke op bestanden gebaseerde connector heeft zijn eigen ondersteunde leesinstellingen onder storeSettings. Zie de details in het connectorartikel -> sectie Copy-activiteit eigenschappen. Nee

Avro als sink

De volgende eigenschappen worden ondersteund in de sectie kopieeractiviteit *sink* .

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de bron van de kopieeractiviteit moet worden ingesteld op AvroSink. Ja
indeling Instellingen Een groep eigenschappen. Raadpleeg de onderstaande tabel met schrijfinstellingen voor Avro. Nee
store Instellingen Een groep eigenschappen over het schrijven van gegevens naar een gegevensarchief. Elke op bestanden gebaseerde connector heeft zijn eigen ondersteunde schrijfinstellingen onder storeSettings. Zie de details in het connectorartikel -> sectie Copy-activiteit eigenschappen. Nee

Ondersteunde Avro-schrijfinstellingen onder formatSettings:

Eigenschappen Beschrijving Vereist
type Het type indeling Instellingen moet worden ingesteld op AvroWrite Instellingen. Ja
maxRowsPerFile Wanneer u gegevens in een map schrijft, kunt u ervoor kiezen om naar meerdere bestanden te schrijven en de maximumrijen per bestand op te geven. Nee
fileNamePrefix Van toepassing wanneer maxRowsPerFile deze is geconfigureerd.
Geef het voorvoegsel voor de bestandsnaam op bij het schrijven van gegevens naar meerdere bestanden, wat resulteert in dit patroon: <fileNamePrefix>_00000.<fileExtension> Als dit niet is opgegeven, wordt het voorvoegsel van de bestandsnaam automatisch gegenereerd. Deze eigenschap is niet van toepassing wanneer de bron een op bestanden gebaseerd archief of gegevensarchief met partitieopties is.
Nee

Eigenschappen van toewijzingsgegevensstroom

In toewijzingsgegevensstromen kunt u avro-indeling lezen en schrijven in de volgende gegevensarchieven: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2 en SFTP, en u kunt avro-indeling lezen in Amazon S3.

Broneigenschappen

De onderstaande tabel bevat de eigenschappen die worden ondersteund door een avro-bron. U kunt deze eigenschappen bewerken op het tabblad Bronopties .

Name Beschrijving Vereist Toegestane waarden Eigenschap gegevensstroomscript
Paden met jokertekens Alle bestanden die overeenkomen met het jokertekenpad worden verwerkt. Hiermee overschrijft u de map en het bestandspad dat is ingesteld in de gegevensset. nee Tekenreeks[] jokertekenpaden
Hoofdpad voor partitie Voor bestandsgegevens die zijn gepartitioneerd, kunt u een partitiehoofdpad invoeren om gepartitioneerde mappen als kolommen te lezen nee String partitionRootPath
Lijst met bestanden Of uw bron verwijst naar een tekstbestand waarin bestanden worden vermeld die moeten worden verwerkt nee true of false Bestandenoverzicht
Kolom voor het opslaan van de bestandsnaam Een nieuwe kolom maken met de naam en het pad van het bronbestand nee String rowUrlColumn
Na voltooiing Verwijder of verplaats de bestanden na verwerking. Bestandspad begint vanuit de hoofdmap van de container nee Verwijderen: true of false
Verplaatsen: ['<from>', '<to>']
purgeFiles
moveFiles
Filteren op laatst gewijzigd Kiezen om bestanden te filteren op basis van wanneer ze voor het laatst zijn gewijzigd nee Tijdstempel modifiedAfter
modifiedBefore
Geen bestanden gevonden toestaan Indien waar, wordt er geen fout gegenereerd als er geen bestanden worden gevonden nee true of false ignoreNoFilesFound

Sink-eigenschappen

De onderstaande tabel bevat de eigenschappen die worden ondersteund door een avro-sink. U kunt deze eigenschappen bewerken op het tabblad Instellingen.

Name Beschrijving Vereist Toegestane waarden Eigenschap gegevensstroomscript
Ga naar de map Als de doelmap is gewist voordat u gaat schrijven nee true of false truncate
Optie voor bestandsnaam De naamgevingsindeling van de geschreven gegevens. Standaard één bestand per partitie in indeling part-#####-tid-<guid> nee Patroon: Tekenreeks
Per partitie: Tekenreeks[]
Als gegevens in kolom: Tekenreeks
Uitvoer naar één bestand: ['<fileName>']
filePattern
partitionFileNames
rowUrlColumn
partitionFileNames
Alles citeren Alle waarden tussen aanhalingstekens plaatsen nee true of false quoteAll

Ondersteuning voor gegevenstypen

Kopieeractiviteit

Complexe Avro-gegevenstypen worden niet ondersteund (records, enums, matrices, kaarten, samenvoegingen en vast) in kopieeractiviteit.

Gegevensstromen

Wanneer u met Avro-bestanden in gegevensstromen werkt, kunt u complexe gegevenstypen lezen en schrijven, maar zorg ervoor dat u eerst het fysieke schema van de gegevensset wist. In gegevensstromen kunt u uw logische projectie instellen en kolommen afleiden die complexe structuren zijn en deze velden vervolgens automatisch toewijzen aan een Avro-bestand.