Delen via


Veelgestelde vragen over Azure Synapse Link voor Dataverse

Dit artikel bevat informatie over veelgestelde vragen over het exporteren van Microsoft Dataverse-tabelgegevens naar Azure Synapse Analytics en Azure Data Lake.

Kan ik handmatig taken uitvoeren, zoals het maken, bijwerken, verwijderen of instellen van beleid voor automatisch verwijderen voor gegevensbestanden in de verbonden Azure-opslag?

Gegevensbestanden mogen niet worden gewijzigd door een klant en er mogen geen klantbestanden in de gegevensmappen worden geplaatst.

Opmerking

Als u verouderde en stagnerende gegevens in de data lake wilt verwijderen zonder de Azure Synapse Link te verbreken, kunt u de functiequery gebruiken en de incrementele updates analyseren

Hoe krijg ik toegang tot mijn tabelrelaties?

Voor toegang tot veel-op-veel-relaties is de relatie beschikbaar als een tabel die u kunt selecteren op de pagina Tabellen toevoegen voor een nieuwe koppeling en in de tabellen beheren voor een bestaande koppeling.

Opmerking

Alle gegevens over relaties staan standaard in de Alleen-toevoegen-modus wanneer ze zijn geschreven in CSV-indeling.

Azure Synapse Link is een gratis functie met Dataverse. Voor het gebruik van Azure Synapse Link voor Dataverse worden geen extra kosten in rekening gebracht onder Dataverse. Houd echter rekening met mogelijke kosten voor de Azure-service:

Wat gebeurt er wanneer ik een kolom toevoeg?

Wanneer u een nieuwe kolom toevoegt aan een tabel in de bron, wordt deze ook toegevoegd aan het einde van het bestand in de bestemming in de bijbehorende bestandspartitie. Hoewel de rijen die bestonden voordat de kolom werd toegevoegd, niet worden weergegeven in de nieuwe kolom, worden in nieuwe of bijgewerkte rijen de zojuist toegevoegde kolom weergegeven.

Wat gebeurt er wanneer ik een kolom verwijder?

Wanneer u een kolom verwijdert uit een tabel in de bron, wordt de kolom niet verwijderd uit het doel. In plaats daarvan worden de rijen niet meer bijgewerkt en worden ze gemarkeerd als null terwijl de vorige rijen behouden blijven.

Wat gebeurt er als ik het gegevenstype van een kolom wijzig?

Het wijzigen van het gegevenstype van een kolom is een belangrijke wijziging en u moet de koppeling verbreken en opnieuw koppelen.

Wat gebeurt er wanneer ik een rij verwijder?

Het verwijderen van een rij wordt anders verwerkt op basis van de opties voor het schrijven van gegevens die u kiest:

  • In-place update met CSV-indeling: dit is de standaardmodus. Wanneer u een tabelrij in deze modus verwijdert, wordt de rij ook verwijderd uit de bijbehorende gegevenspartitie in Azure Data Lake. Met andere woorden, gegevens worden permanent verwijderd uit de bestemming.
  • Alleen toevoegen met CSV-indeling en incrementele mapupdate: In deze modus wordt, wanneer een Dataverse-tabelrij verwijderd wordt, deze niet permanent verwijderd uit het doel. In plaats daarvan wordt een rij toegevoegd en ingesteld als isDeleted=True aan het bestand in de bijbehorende gegevenspartitie in Azure Data Lake.
  • Exporteren naar Delta Lake-indeling: Azure Synapse Link voert een voorlopig verwijderen uit op gegevens tijdens de volgende deltasynchronisatiecyclus, gevolgd door een harde verwijdering na 30 dagen.

Waarom zie ik geen kolomkop in het geëxporteerde bestand?

Azure Synapse Link volgt het Common Data Model om gegevens en de betekenis ervan te delen tussen toepassingen en bedrijfsprocessen, zoals Microsoft Power Apps, Power BI, Dynamics 365 en Azure. In elke CDM-map worden metagegevens zoals een kolomkop opgeslagen in het model.json bestand. Meer informatie: Common Data Model en Azure Data Lake Storage Gen2 | Microsoft Learn

Waarom wordt het Model.json-bestand langer of verandert in lengte voor de gegevenstypen en behoudt het niet wat in Dataverse is gedefinieerd?

Model.json behoudt de databaselengte van de kolomgrootte. Dataverse heeft een concept van databaselengte voor elke kolom. Als u een kolom maakt met een grootte van 200 en deze later verkleint naar 100, kunnen uw bestaande gegevens nog steeds in Dataverse aanwezig blijven. Dat doet het door DBLength op 200 te houden en MaxLength op 100 te houden. Wat u in Model.json ziet, is DBLength en als u dat gebruikt voor downstreamprocessen, hoeft u nooit minder ruimte in te richten voor uw Dataverse-kolommen.

Opmerking

Memovelden worden gedefinieerd als varchar(max) een standaard maximumlengte van 9999.

Welke datum- en tijdnotaties kunnen worden verwacht in geëxporteerde Dataverse-tabellen?

Er zijn drie datum- en tijdnotaties die kunnen worden verwacht in de geëxporteerde Dataverse-tabellen.

Kolomnaam Formaat Gegevenssoort Example
SinkCreatedOn en SinkModifiedOn d/M/jjjj U:mm:ss tt datetime 28-6-2021 16:34:35
CreatedOn yyyy-MM-dd'T'HH:mm:ss.sssssssXXX datetimeOffset 2018-05-25T16:21:09.0000000+00:00
Alle andere kolommen yyyy-MM-dd'T'HH:mm:ss'Z' datetime 2021-06-25T16:21:12Z

Opmerking

Het gegevenstype CreatedOn is gewijzigd van datetime naar datetimeOffset op 29-07-2022. Als u de indeling van het gegevenstype wilt bewerken voor een tabel die vóór de wijziging is gemaakt, zet u de tabel neer en leest u deze.

U kunt verschillende kolomgedragen kiezen voor een datum- en tijdkolom in Dataverse, waarmee de indeling van het gegevenstype wordt bijgewerkt. Meer informatie: Gedrag en indeling van de datum- en tijdkolom

Waarom zie ik 1.csv of 1_001.csv bestandsnamen in plaats van normale datum/tijd gepartitioneerde bestandsnamen voor sommige Dataverse-tabellen?

Dit gedrag wordt verwacht wanneer u de exportmodus alleen toevoegen kiest en tabellen hebt zonder een geldige CreatedOn-kolom . Blobs zijn ingedeeld in bestanden zoals 1.csv, 2.csv (aangepaste partitionering wordt gebruikt vanwege het ontbreken van een geldige aanmaakdatum). Wanneer een partitie 95% van maxBlockPerBlobLimit nadert, genereert het systeem automatisch een nieuw bestand, dat hier wordt geïllustreerd als 1_001.csv.

Wanneer moet ik een strategie voor jaarlijkse of maandelijkse partities gebruiken?

Voor Dataverse-tabellen waarbij het gegevensvolume binnen een jaar hoog is, raden we u aan maandelijkse partities te gebruiken. Dit resulteert in kleinere bestanden en betere prestaties. En als de rijen in Dataverse-tabellen regelmatig worden bijgewerkt, kunt u met het splitsen in meerdere kleinere bestanden de prestaties verbeteren in het geval van in-place updatescenario's. Delta Lake is alleen beschikbaar met jaarlijkse partitie vanwege de superieure prestaties in vergelijking met csv-indeling.

Wat is de alleen toevoegen modus en wat is het verschil tussen alleen toevoegen en de in-place bijwerkmodus?

In de modus Alleen toevoegen worden incrementele gegevens uit Dataverse-tabellen toegevoegd aan de bijbehorende bestandspartitie in de lake. Voor meer informatie: Geavanceerde configuratieopties in Azure Synapse Link

Wanneer gebruik ik de modus Alleen toevoegen voor een historische weergave van wijzigingen?

De modus Alleen toevoegen is de aanbevolen optie voor het schrijven van Dataverse-tabelgegevens naar de lake, vooral wanneer de gegevensvolumes hoog zijn in een partitie met vaak veranderende gegevens. Nogmaals, dit is een veelgebruikte en sterk aanbevolen optie voor zakelijke klanten. Daarnaast kunt u ervoor kiezen om deze modus te gebruiken voor scenario's waarin de bedoeling is om wijzigingen van Dataverse incrementeel te controleren en de wijzigingen voor ETL-, AI- en ML-scenario's te verwerken. De modus Alleen toevoegen biedt een geschiedenis van wijzigingen, in plaats van de meest recente wijziging of in place update, en maakt verschillende tijdreeksen van AI-scenario's mogelijk, zoals voorspellings- of prognoseanalyses op basis van historische waarden.

Hoe krijg ik de meest actuele rij van elk record en sluit ik verwijderde rijen uit wanneer ik gegevens exporteer in de modus alleen toevoegen?

In de modus Alleen toevoegen moet u de meest recente versie van de record identificeren met dezelfde id VersionNumber en SinkModifiedOn vervolgens toepassen isDeleted=0 op de nieuwste versie.

Waarom zie ik gedupliceerde versienummers wanneer ik gegevens exporteer met de modus Alleen toevoegen?

Als Azure Synapse Link voor Dataverse in de modus 'Alleen Toevoegen' geen bevestiging krijgt van de Azure Data Lake dat de gegevens zijn doorgevoerd om welke reden dan ook, zoals netwerkvertragingen, probeert Azure Synapse Link het opnieuw in deze scenario's en worden de gegevens opnieuw doorgevoerd. Het downstreamverbruik moet tolerant worden gemaakt voor dit scenario door gegevens te filteren met behulp van SinkModifiedOn.

Waarom zie ik verschillen in de kolommen Sinkmodifiedon en Modifiedon?

Het wordt verwacht. Modifiedon is de datum/tijd waarop de record wordt gewijzigd in Dataverse; Sinkmodifiedon is de datum en tijd waarop de record wordt gewijzigd in de data lake.

Welke Dataverse-tabellen worden niet ondersteund voor export?

Een tabel waarvoor wijzigingen bijhouden niet is ingeschakeld, wordt niet ondersteund naast de volgende systeemtabellen:

  • Bijlage
  • Kalender
  • Agendaregel

Bepaalde Dataverse-tabellen, zoals postcomment, postregarding, postlike, post en postrole, zijn niet beschikbaar voor klanten om synchronisatie via Azure Synapse Link mogelijk te maken.

In sommige gevallen kunnen deze tabellen worden weergegeven wanneer langetermijnretentie van Dataverse is ingeschakeld. Als dat gebeurt, kan een subset of alle records uit deze tabellen worden geëxporteerd. Dit is verwacht gedrag voor langetermijnretentiescenario's.

Belangrijk

  • Deze tabellen mogen niet worden geselecteerd voor synchronisatie.
  • Hun aanwezigheid geeft geen volledige ondersteuning voor incrementele synchronisatie aan.

Opmerking

U kunt de audittabel voor export toevoegen met behulp van Azure Synapse Link voor Dataverse. Het exporteren van de audittabel wordt echter alleen ondersteund met Delta Lake-profielen.

Ik gebruik export naar de Delta Lake-functie, kan ik de Apache Spark-taak stoppen of de uitvoeringstijd wijzigen?

De Delta Lake-conversietaak wordt geactiveerd wanneer er een gegevenswijziging is aangebracht in het geconfigureerde tijdsinterval. Er is geen optie om de Apache Spark-pool te stoppen of te onderbreken. U kunt echter het tijdsinterval wijzigen nadat de koppeling is gemaakt onder Geavanceerde tijdsinterval voor tabellen > beheren.

Opzoekkolommen bestaan uit een id en een waarde. Opzoekwaarden worden alleen gewijzigd in de hoofdtabel. Als u de waarde van een opzoekkolom beter wilt weergeven, raden we u aan samen te voegen met de oorspronkelijke hoofdtabel om de meest recente waarde op te halen.

In Dataverse behouden berekende kolommen alleen de formulegegevens en de werkelijke waarde is afhankelijk van de basistabelkolom. Berekende kolommen worden dus alleen ondersteund wanneer alle kolommen zich in dezelfde geëxporteerde tabel bevinden.

Welke Dataverse-tabellen maken standaard gebruik van de modus Alleen toevoegen?

Alle tabellen die geen createdOn-veld hebben, worden standaard gesynchroniseerd met de modus Toevoegen. Dit omvat relatietabellen en de activityparty-tabel.

Waarom zie ik het foutbericht : inhoud van map op pad kan niet worden weergegeven?

  • Dataverse-gegevens worden opgeslagen in de verbonden opslagcontainer. U hebt de rol Inzender voor opslagblobgegevens in het gekoppelde opslagaccount nodig om lees- en querybewerkingen uit te voeren via Synapse Workspace.
  • Als u ervoor kiest om gegevens te exporteren met de Delta Lake-indeling, wordt uw CSV-bestand opgeschoond na de Delta Lake-conversie. U moet query's uitvoeren op gegevens met non_partitioned tabellen via Synapse Workspace.

Waarom zie ik het foutbericht: kan niet bulksgewijs worden geladen omdat het bestand onvolledig is of niet kan worden gelezen (alleen csv-bestand)?

Dataverse-gegevens kunnen continu worden gewijzigd door transacties te maken, bij te werken en te verwijderen. Deze fout wordt veroorzaakt doordat het onderliggende bestand wordt gewijzigd wanneer u gegevens uit het bestand leest. Dus voor tabellen met continue wijzigingen moet u uw verbruikspijplijn wijzigen zodat momentopnamegegevens (gepartitioneerde tabellen) voor verbruik worden gebruikt. Meer informatie: Problemen met een serverloze SQL-pool oplossen

Azure Synapse Link voor Dataverse is ontworpen voor analysedoeleinden. We raden klanten aan om langetermijnretentie te gebruiken voor archiefdoeleinden. Meer informatie: Overzicht van langetermijnretentie van gegevens in Dataverse

Waarom zie ik geen gegevenswijzigingen in de data lake wanneer records zijn verwijderd in Dataverse?

Voor elke directe SQL-aanroep om een record te verwijderen, wordt de Azure Synapse Link voor Dataverse-service niet geactiveerd omdat BPO. Verwijderen wordt niet aangeroepen. Voor een voorbeeldfunctie gaat u naar Overgenomen toegang opschonen.