Opties voor geavanceerde configuratie in Azure Synapse Link
Azure Synapse Link biedt meerdere manieren om uw gegevens te schrijven en te lezen voor verschillende analytische scenario's.
Notitie
Azure Synapse Link for Dataverse werd voorheen Exporteren naar data lake genoemd. De service is met ingang van mei 2021 hernoemd en gaat door met het exporteren van gegevens naar Azure Data Lake en Azure Synapse Analytics.
Dit artikel behandelt:
- Updates ter plaatse versus alleen-toevoegen schrijfbewerkingen.
- Door de gebruiker opgegeven gegevenspartitionering.
In-place updates versus alleen-toevoegen-schrijfbewerkingen
Voor het schrijven van Dataverse-tabelgegevens naar Azure Data Lake, kunt u op basis van de waarde voor createdOn
, de datum en tijd waarop de record is gemaakt, uit twee verschillende instellingen kiezen. Dit zijn In-place update en Alleen toevoegen.
De standaardinstelling (voor tabellen waarbij createdOn
beschikbaar is) is om een in-place update of upsert (bijwerken of invoegen) van de incrementele gegevens op de bestemming uit te voeren. Als de wijziging nieuw is en er geen overeenkomstige rij in het lake bestaat, worden in het geval van een maakbewerking de doelbestanden gescand en worden de wijzigingen ingevoegd in de overeenkomstige bestandspartitie in het lake. Als de wijziging een update is en er bestaat een rij in de lake, wordt het overeenkomende bestand in de lake bijgewerkt in plaats van ingevoegd. op basis van de incrementele gegevens. Met andere woorden, de standaardinstelling voor alle CUD-wijzigingen in Dataverse-tabellen, waar createdOn
beschikbaar is, is om een in-place update uit te voeren in de bestemming, in Azure Data Lake.
U kunt het standaardgedrag van een in-place update wijzigen met behulp van een optionele instelling genaamd Alleen toevoegen. In plaats van een in-place update in de modus Alleen toevoegen worden incrementele gegevens uit Dataverse-tabellen toegevoegd aan de overeenkomende bestandspartitie in de lake. Dit is een instelling per tabel die beschikbaar is als selectievakje onder Geavanceerd > Geavanceerde configuratie-instellingen weergeven. Voor Dataverse-tabellen met waarvoor Alleen toevoegen is ingeschakeld, worden alle CUD-wijzigingen incrementeel toegevoegd aan de overeenkomende bestemmingsbestanden in de lake. Als u deze optie kiest, wordt de partitiestrategie standaard ingesteld op Jaar en wanneer gegevens naar het data lake worden geschreven, worden deze op jaarbasis gepartitioneerd. Alleen toevoegen is ook de standaardinstelling voor Dataverse-tabellen waarvoor de waarde createdOn
niet is ingesteld.
De onderstaande tabel beschrijft hoe rijen in de lake worden verwerkt voor CUD-gebeurtenissen voor elk van de opties voor het schrijven van gegevens.
Gebeurtenis | In-place update | Alleen toevoegen |
---|---|---|
Maken | De rij wordt in het partitiebestand ingevoegd en is gebaseerd op de waarde van createdOn voor de rij. |
De rij wordt aan het einde van het partitiebestand toegevoegd en is gebaseerd op de waarde van createdOn van de record. |
Bijwerken | Als de rij in het partitiebestand bestaat, wordt deze vervangen of bijgewerkt met bijgewerkte gegevens. Bestaat deze niet, dan wordt deze in het bestand ingevoegd. | De rij wordt met de bijgewerkte versie toegevoegd aan het einde van het partitiebestand. |
Delete | Als de rij in het partitiebestand bestaat, wordt deze uit het bestand verwijderd. | De rij wordt aan het einde van het partitiebestand toegevoegd met IsDelete column = True . |
Notitie
Voor Dataverse-tabellen waarvoor Alleen toevoegen is ingeschakeld, resulteert de verwijdering van een rij in de bron niet in de verwijdering van de rij in de lake. In plaats daarvan wordt de verwijderde rij toegevoegd als een nieuwe rij in de lake en wordt de kolom isDeleted
ingesteld op True.
'Dirty' leesbewerking (ALLOW_INCONSISTENT_READS) voor serverloos is ingeschakeld voor de modus Alleen toevoegen. ALLOW_INCONSISTENT_READS betekent dat de gebruiker de bestanden kan lezen die voortdurend kunnen worden gewijzigd terwijl de query SELECT
wordt uitgevoerd. De resultaten zijn consistent en gelijk aan het lezen van een momentopname van het bestand. (Dit staat niet gelijk aan de isolatie van databasemomentopnamen vanwege de verschillende tijden voor het genereren van momentopnamen.)
Niet alle CUD-wijzigingen worden vastgelegd in alleen toevoegen: de Synapse Link verwerkt wijzigingen in gegevens in groepen of batches voordat ze naar het data lake worden gepubliceerd. Als gevolg hiervan worden niet alle CUD-wijzigingen vastgelegd in het data lake als de gebruiker binnen een kort tijdsinterval wijzigingen aanbrengt.
Hier zijn wat meer details over wanneer u een van de opties moet gebruiken.
- Update ter plaatse: deze optie is de standaardinstelling en wordt alleen aanbevolen als u rechtstreeks verbinding wilt maken met de gegevens in het lake en de huidige status nodig hebt (geen geschiedenis of incrementele wijzigingen). Het bestand bevat de volledige gegevensset en kan worden gebruikt via Power BI of door de hele gegevensset voor ETL-pijplijnen (extraheren, transformeren en laden) te kopiëren.
- Alleen toevoegen: selecteer deze optie als u niet rechtstreeks verbinding maakt met gegevens in de lake en gegevens stapsgewijs naar een ander doel wilt kopiëren met behulp van ETL-pijplijnen. Deze optie biedt een geschiedenis van wijzigingen om AI- en ML-scenario's mogelijk te maken.
U kunt Geavanceerde configuratie-instellingen weergeven onder Geavanceerd in- of uitschakelen in Azure Synapse Link for Dataverse om uw gegevenspartitiestrategie aan te passen en opties te selecteren om naar het Azure data lake te schrijven.
Gegevenspartitionering
Wanneer u Dataverse-tabelgegevens naar Azure Data Lake Storage schrijft met behulp van Azure Synapse Link, worden de tabellen in het lake niet opgeslagen als een enkel bestand, maar gepartitioneerd op basis van de waarde van createdOn
voor elke rij in de bron. De standaardpartitiestrategie is per maand en gegevens worden maandelijks gepartitioneerd in Azure Data Lake.
Gebaseerd op tabelvolume en gegevensdistributie in Dataverse kunt u ervoor kiezen om uw gegevens per jaar te partitioneren. Met deze optie worden wanneer Dataverse-tabelgegevens naar Azure Data Lake worden geschreven, deze op jaarbasis gepartitioneerd op basis van de waarde createdOn
in elke rij in de bron. Voor tabellen zonder de kolom createdOn
worden de rijen met gegevens elke 5.000.000 records gepartitioneerd in een nieuw bestand. Dit is een instelling per tabel die beschikbaar is als selectievakje onder Geavanceerd > Geavanceerde configuratie-instellingen weergeven.
Meer details met voorbeelden van hoe gegevens worden verwerkt in het lake met een jaarlijkse of maandelijkse partitiestrategie:
Zie ook
Azure Synapse Link for Dataverse
Notitie
Laat ons uw taalvoorkeuren voor documentatie weten! Beantwoord een korte enquête. (houd er rekening mee dat deze in het Engels is)
De enquête duurt ongeveer zeven minuten. Er worden geen persoonlijke gegevens verzameld (privacyverklaring).