Azure Synapse Link for Dataversen usein kysytyt kysymykset

Tässä artikkelissa on tietoja usein kysytyistä kysymyksistä Microsoft Dataversen taulukkotietojen viemisestä Azure Synapse Analyticsiin ja Azure Data Lakeen.

Voinko suorittaa manuaalisesti tehtäviä, kuten luoda, päivittää, poistaa tai määrittää automaattisen poiston käytäntöjä datatiedostoille yhdistetyssä Azure-tallennustilassa?

Asiakas ei saa muokata datatiedostoja, eikä asiakastiedostoja saa sijoittaa tietokansioihin.

Huomautus

Jos haluat pudottaa vanhentuneita ja pysähtyneitä tietoja Data Lake -tallennustilaan rikkomatta Azure Synapse -linkkiä, harkitse kyselyn käyttöä ja analysoi lisääviä päivityksiä

Miten voin käyttää pöytääni suhteita?

Monta moneen -yhteyksien käyttämiseksi suhde on käytettävissä taulukkona, jonka voi valita Uuden linkin Lisää taulukot -sivulta ja Taulukoiden hallinta -linkistä.

Huomautus

Kaikki suhdetiedot ovat oletusarvoisesti Vain lisä -tilassa CSV-muodossa kirjoitettaessa.

Miten voin saada arvioidut kustannukset ennen Azure Synapse -linkin lisäämistä?

Azure Synapse Link on ilmainen Dataversen ominaisuus. Azure Synapse Linkin käyttäminen Dataverselle ei nosta lisämaksuja Dataverse-kohdassa. Mieti kuitenkin Azure-palvelun mahdollisia kustannuksia:

Mitä tapahtuu, kun lisään sarakkeen?

Kun lisäät lähteessä olevaan taulukkoon uuden sarakkeen, se lisätään myös tiedoston loppuun kohdesijainnissa vastaavassa tiedoston osiossa. Vaikka rivejä, jotka olivat olemassa ennen sarakkeen lisäämistä, ei näytetä uudessa sarakkeessa, uudet tai päivitetyt rivit näyttävät juuri lisätyn sarakkeen.

Miksi Data Lake -järjestelmässä ei näy uusia lisättyjä sarakkeita?

Kun lisäät uuden sarakkeen lähteen taulukkoon, uudet metatiedot (sarake) synkronoidaan Data Lake -tallennustilaan vain osana taulukon seuraavaa tietojen muutosta. Azure Synapse Link synkronoi metatietojen muutokset ja tietojen muutokset – se ei käynnistä itsenäistä synkronointia vain metatietojen muutosta varten. Tulos:

  • Jos yksi tai useampi rivi luodaan tai päivitetään sarakkeen lisäämisen jälkeen, seuraava delta-synkronointi poimii uuden sarakkeen, ja se tulee saataville Data Lake -tallennustilaan siitä eteenpäin.
  • Jos tietoja ei muuteta sarakkeen lisäämisen jälkeen, uusi sarake pysyy vain lähteessä, eikä sitä synkronoida automaattisesti.

Jos haluat tuoda uuden sarakkeen heti, kun tietojen ei odoteta muuttuvan, synkronoi kyseiset taulukot uudelleen. Tämä koskee kaikkia profiilityyppejä.

Huomautus

Tämä on odotettua käyttäytymistä. Vain metatietojen muutos, kuten sellaisen sarakkeen lisääminen, joka ei sisällä tietojen muutosta, ei yksinään käynnistä synkronointia. Sarake viedään seuraavan tietojen muutoksen myötä tai taulukon manuaalisen uudelleensynkronoinnin jälkeen.

Mitä tapahtuu, kun poistan sarakkeen?

Kun poistat sarakkeen lähteen taulukosta, saraketta ei pudoteta kohdesijainnista. Sen sijaan rivejä ei enää päivitetä, ja ne on merkitty tyhjäarvoisiksi säilyttäen edelliset rivit.

Mitä tapahtuu, jos muutan sarakkeen tietotyyppiä?

Sarakkeen tietotyypin muuttaminen on läpimurtomuutos, ja sinun on purettava linkit ja linkitettävä uudelleen.

Mitä tapahtuu, kun poistan rivin?

Rivin poistamista käsitellään eri tavoin sen mukaan, mitä tietojen kirjoitusvaihtoehtoja valitset:

  • Paikalla oleva CSV-muotoinen päivitys: Tämä on oletustila. Kun poistat taulukon rivin tässä tilassa, rivi poistetaan myös vastaavasta tietojen osiosta Azure Data Lakessa. Toisin sanoen tiedot poistetaan kohdesijainnista kiinteästi.
  • Liitä vain CSV-muotoon ja lisäävä kansiopäivitys: Tässä tilassa, kun Dataverse-taulukon rivi poistetaan, sitä ei ole poistettu kohdesijainnista. Sen sijaan tiedostoon lisätään rivi ja sen arvoksi isDeleted=True määritetään vastaava tietojen osio Azure Data Lakessa.
  • Vie Delta Lake -muotoon: Azure Synapse Link poistaa tiedot pehmeästi seuraavan delta-synkronointijakson aikana, minkä jälkeen se poistetaan kiinteästi 30 päivän jälkeen.

Miksi en näe viedyssä tiedostossa sarakeotsikkoa?

Azure Synapse -linkki noudattaa Common Data Modelia, jotta tiedot ja niiden merkitys voidaan jakaa sovellusten ja liiketoimintaprosessien, kuten Microsoft Power Appsin, Power BI:n, Dynamics 365:n ja Azuren, kesken. Jokaiseen CDM-kansioon tallennetaan sarakeotsikon kaltaiset metatiedot model.json tiedostoon. Lisätietoja: Common Data Model ja Azure Data Lake Storage Gen2 | Microsoft Learn

Miksi Model.json tiedosto suurenee tai muuttuu pituudeltaan tietotyypeille, eikä säilytä Dataversessa määritettyä?

Model.json säilyttää tietokannan pituuden sarakkeen koon mukaan. Dataversessa on tietokannan pituuden käsite kullekin sarakkeelle. Jos luot sarakkeen, jonka koko on 200, ja myöhemmin pienennät sen sataan, Dataverse sallii silti olemassa olevien tietojen olevan Dataversessa. Se tekee sen pitämällä DBLength arvon 200:ssa ja MaxLength arvon 100:ssa. Model.json DBLength näet sen, ja jos käytät sitä jatkojalostusprosesseissa, et koskaan valmistele vähempää tilaa Dataverse-sarakkeillesi.

Huomautus

Memo-kentät on määritetty muodossa varchar(max) , jonka oletuspituus on 9999.

Mitä päivämäärän ja ajan muotoja viedyissä Dataverse-taulukoissa voi odottaa?

Viedyissä Dataverse-taulukoissa on kolme päivämäärä- ja aikamuotoa, jotka voidaan odottaa.

Sarakkeen nimi Muoto Tietotyyppi Esimerkki
SinkCreatedOn ja SinkModifiedOn M/d/yyyy H:mm:ss tt päivämäärä/aika 28.6.2021 klo 16.34.35
CreatedOn yyyy-MM-dd'T'HH:mm:ss.ssssssXXX datetimeOffset 2018-05-25T16:21:09.000000+00:00
Kaikki muut sarakkeet vvvv-KK-pp'T'HH:mm:ss'Z' päivämäärä/aika 2021-06-25T16:21:12Z

Huomautus

CreatedOn-tietotyyppi on muuttunut datetimedatetimeOffset 29.7.2022. Jos haluat muokata ennen muutosta luodun taulukon tietotyyppimuotoa, pudota taulukko ja lue se.

Voit valita eri saraketoiminnot Päivämäärä ja aika -sarakkeelle Dataversessa, joka päivittää tietotyyppimuodon. Lisätietoja. Päivämäärä ja aika -sarakkeen toimintatapa ja muoto

Miksi näen joidenkin Dataverse-taulukoiden 1.csv tai 1_001.csv tiedostonimiä normaalien päivämäärän ja ajan osioitujen tiedostonimien sijaan?

Tätä toimintaa odotetaan, kun valitset Liitä vain lisä -vientitilan, ja siinä on taulukoita, joissa ei ole kelvollista CreatedOn-saraketta . Blob-objektit on järjestetty tiedostoihin, kuten 1.csv, 2.csv (mukautettua osiointia käytetään, koska kelvollinen luontipäivämäärä ei ole käytössä). Kun mikä tahansa osio lähestyy 95% MaxBlockPerBlobLimit-määrityksiä, järjestelmä luo automaattisesti uuden tiedoston, joka näkyy tässä muodossa 1_001.csv.

Milloin minun tulisi käyttää vuosi- tai kuukausittaista osiostrategiaa?

Jos Dataverse-taulukoiden tietojen määrä on suuri vuoden sisällä, suosittelemme, että käytät kuukausittaisia osioita. Tämä tuottaa pienempiä tiedostoja ja paremman suorituskyvyn. Lisäksi jos Dataverse-taulukoiden rivejä päivitetään usein, jakaminen useisiin pienempiin tiedostoihin auttaa parantamaan suorituskykyä, jos kyseessä ovat paikalla olevat päivitysskenaariot. Delta Lake on käytettävissä vain vuosikohtaisella osiolla, koska sen suorituskyky on parempi CSV-muotoon verrattuna.

Mikä on vain lisäämistila ja mitä eroa on vain lisäämistilan ja paikallaan päivitystilan välillä?

Vain liittämistilassa Dataverse-taulukoiden lisäävät tiedot liitetään vastaavaan tiedoston osioon Lake-järjestelmässä. Lisätietoja: Azure Synapse -linkin määritysten lisäasetukset

Milloin käytän Liitä vain -tilaa, jos haluat nähdä muutokset aiemmin?

Vain liittämistila on suositeltu vaihtoehto Dataverse-taulukkotietojen kirjoittamiseen Lake-tallennustilaan, erityisesti silloin, kun tietomäärät ovat suuri osiossa, jossa tiedot muuttuvat usein. Tämäkin on yritysasiakkaiden yleisesti käytetty ja erittäin suositeltu vaihtoehto. Lisäksi voit käyttää tätä tilaa skenaarioissa, joissa tarkoituksena on tarkastella Dataversen muutoksia lisäävästi ja käsitellä ETL-, tekoäly- ja koneoppimisskenaarioiden muutokset. Vain liittämistila tarjoaa muutoshistorian viimeisimmän muutoksen sijaan tai sen sijaan, että se olisi paikalla päivityksessä, ja se mahdollistaa useita tekoälyskenaarioiden aikasarjoja, kuten ennuste- tai ennusteanalyysin historiallisten arvojen perusteella.

Miten voin noutaa jokaisen tietueen uusimman rivin ja jättää pois poistetut rivit, kun luon viennin lisäystilassa?

Vain liittämistilassa sinun tulisi tunnistaa uusin tietueversio, jolla on sama tunnus, käyttämällä VersionNumber ja SinkModifiedOn, ja sitten soveltaa isDeleted=0 uusimpaan versioon.

Miksi näen versionumeroiden kaksoiskappaleet, kun viet tietoja Vain lisätiedot -tilassa?

Jos kyseessä on vain liitämistila, jos Azure Synapse Link for Dataverse ei saa Azure Data Lakesta vahvistusta siitä, että tiedot on tehty mistä tahansa syystä, kuten verkkoviiveistä, Azure Synapse Linkin uudelleensitoutumisesta näissä skenaarioissa ja tietojen vahvistamisesta uudelleen. Tuotantoketjun loppupään kulutuksesta olisi tehtävä kestävä tähän skenaarioon suodattamalla tietoja käyttämällä SinkModifiedOn.

Miksi näen eroja 'SinkModifiedOn'- ja 'ModifiedOn'-sarakkeissa?

Tämä on odotettua toimintaa. ModifiedOn on päivämäärä ja aika, jolloin tietuetta on viimeksi muutettu Dataversessa, kun taas SinkModifiedOn on päivämäärä ja aika, jolloin tietue kirjoitettiin Data Lake -tallennustilaan. SinkModifiedOn on yleensä uudempi kuin ModifiedOn, ja ero riippuu eri tekijöistä, kuten erän koosta, järjestelmän kuormituksesta ja käsiteltävien tietueiden määrästä.

Taulukoille, jotka viedään Delta Lake -muodossa tai vain lisä- tai lisäävässä CSV-tilassa, SinkCreatedOn ja SinkModifiedOn vastaavat samaa kirjoitusaikaa. Tästä syystä näiden tilojen ja SinkCreatedOn niiden välinen CreatedOn ero ei ole luotettava merkki synkronoinnin viiveestä, eikä sitä tule tulkita näin.

Tärkeää

Jos talous- ja toimintosovelluksissa on pitkäkestoisia tapahtumia, tietue voidaan synkronoida useita kertoja, jotta tietoja ei menetetä. Tässä skenaariossa SinkModifiedOn kuvastaa viimeistä synkronointiaikaa, ei ensimmäistä. Jos esimerkiksi tietue synkronoidaan 10 kertaa tunnin sisällä, näyttää kymmenennen synkronoinnin ajan, SinkModifiedOn vaikka tiedot olivat käytettävissä järvessä ensimmäisestä synkronoinnista. Ole varovainen, kun luot viiveraportteja - ja SinkModifiedOn-arvojen välisen eron ModifiedOn perusteella, sillä se voi antaa harhaanjohtavan vaikutelman tietojen todellisesta saatavuudesta.

Mitä Dataverse-taulukoita ei tueta vietäville?

Mitä tahansa taulukkoa, jossa muutosten seuranta ei ole käytössä, ei tueta seuraavien järjestelmätaulukoiden lisäksi:

  • Liite
  • Kalenteri
  • Kalenterirule

Jotkin Dataverse-taulukot, kuten postcomment, postregarding, postlike, post ja postrole, eivät ole asiakkaiden käytettävissä, jotta synkronointi olisi mahdollista Azure Synapse Linkin kautta.

Joissakin tapauksissa nämä taulukot saattavat näkyä, kun Dataversen pitkäaikainen säilytys on otettu käyttöön. Jos näin käy, alijoukko tai kaikki näiden taulukoiden tietueet voidaan viedä. Tämä on odotettua toimintaa pitkäkestoisia säilytystilanteita varten.

Tärkeää

  • Näitä taulukoita ei tule valita synkronointia varten.
  • Niiden läsnäolo ei ilmaise täyttä tukea lisäävälle synkronoinnille.

Huomautus

Voit lisätä seurantataulukon vietäväksi Azure Synapse Link for Dataversen avulla. Valvontataulukon vientiä tuetaan kuitenkin vain Delta Lake -profiileissa.

Miksi en näe kaikkia muistiinpanojani (huomautustietueita) Data Lake -tallennustilassa?

Azure Synapse Link ei synkronoi annotation (Notes) -taulukkoon tallennettua tiedostosisältöä. Muistiinpanotietueessa muistiinpanoon liitetty tiedosto sijaitsee sarakkeessa documentbody ja kyseisen tiedoston sisältöä ei ole synkronoitu Data Lake -järjestelmään. Tämä on suunniteltu toimimaan näin. Tulos:

  • annotation tietueita, joilla on arvo sarakkeessa documentbody (muistiinpanot ja tiedosto liitteenä), ei viedä Data Lake -tallennustilaan.
  • annotation tietueet, joissa ei ole arvoa ( documentbody muistiinpanot ilman liitetiedostoa) synkronoidaan odotetulla tavalla.

Käytän Export to Delta Lake -ominaisuutta, voinko pysäyttää Apache Spark -työn vai muuttaa suoritusaikaa?

Delta Lake -konversiotyö käynnistyy, kun määritetyssä aikavälissä tapahtui tietojen muutos. Ei ole vaihtoehtoa pysäyttää tai keskeyttää Apache Spark -uima-allasta. Voit kuitenkin muokata aikaväliä linkin luomisen jälkeen kohdassa Taulukoiden > lisäaikaväli.

Hakusarakkeet koostuvat tunnuksesta ja arvosta. Hakuarvot muuttuvat vain päätaulukossa. Jos haluat näyttää hakusarakkeen arvon paremmin, suosittelemme liittymään alkuperäiseen päätaulukkoon, jotta saat uusimman arvon.

Dataversessa lasketut sarakkeet tallentavat vain kaavan määrityksen, ja todellinen arvo johdetaan pohjana olevista sarakkeista. Siksi laskettuja sarakkeita tuetaan vain, kun kaikki viitatut sarakkeet sijaitsevat samassa viedyssä taulukossa. Azure Synapse Link synkronoi tiedot Dataversen muutosten seurannan perusteella. Lisäävän synkronoinnin aikana tietue viedään uudelleen vain, kun sen versio muuttuu. Jos lasketun sarakkeen arvo muuttuu ilman vastaavaa version muutosta tietueeseen, päivitettyä arvoa ei synkronoida Data Lakeen ennen kuin tietue päivitetään ja sen versio muuttuu. Jos esimerkiksi laskettu sarake antaa tulokseksi NULL kohteen ensimmäisen synkronoinnin aikana, NULL se kirjoitetaan Data Lake -tallennustilaan. Jos laskutoimituksen käyttämät syötteet muuttuvat myöhemmin, mutta tietueversio ei muutu, Azure Synapse Link ei tunnista uudelleenlaskenta-arvoa ja Data Lake näyttää NULLedelleen . Kun tietue on päivitetty ja sen versio muuttuu, Azure Synapse Link vie tietueen uudelleen käyttäen viimeisintä laskettua sarakearvoa.

Mitkä Dataverse-taulukot käyttävät oletusarvoisesti Vain lisä -tilaa?

Kaikki taulukot, joissa ei ole createdOn-kenttää, synkronoidaan oletusarvoisesti käyttämällä Liitä vain -tilaa. Tämä sisältää suhdetaulukot ja ActivityParty-taulukon.

Miksi näen virhesanoman - Polun olevaa hakemiston sisältöä ei voi luetella?

  • Dataverse-tiedot tallennetaan yhdistettyyn tallennussäilöön. Sinulla on oltava "Säilön blob-tietojen osallistuja" -rooli linkitetyllä tallennustilillä luku- ja kyselytoimintojen suorittamiseksi Synapse-työtilan kautta.
  • Jos päätät viedä tietoja Delta Lake -muodossa, CSV-tiedosto tyhjenee Delta Lake -muunnoksen jälkeen. Synapse-työtilan kautta sinun on tehtävä tietokyselyjä non_partitioned taulukoilla.

Miksi näen virhesanoman – latausta ei voi ladata joukkona, koska tiedosto on epätäydellinen tai sitä ei voitu lukea (vain CSV-tiedosto)?

Dataverse-data voi muuttua jatkuvasti, kun tapahtumia luodaan, päivitetään ja poistetaan. Tämä virhe johtuu siitä, että pohjana olevaa tiedostoa muutetaan, kun luet tietoja siitä. Jos taulukoissa on jatkuvia muutoksia, muuta kulutusputkesi käyttämään kuluttamiseen tilannevedostietoja (osioituja taulukoita). Lisätietoja: Palvelimettoman SQL-varannon vianmääritys

Kyllä. Azuren Synapse Link lukee rivejä Dataversen kautta, joten jokainen Dataversen tietuekohtainen rajoitus koskee synkronointia. Yleisin rajoitus on 200 MiB -raja palvelimen palauttaman yksittäisen tietueen pakkaamattomassa koossa.

Tämä rajoitus koskee yleensä taulukoita, joihin tallennetaan suuria vapaamuotoisia sisältöjä tai binaaritietoja. Esimerkkejä:

  • email säilyttää koko sanoman tekstirungon.
  • activitypointer sisältää pitkät kuvaukset.
  • activitymimeattachment säilyttää sisäiset ja liitetyt tiedostot.

Tämä on Dataverse-ympäristön rajoitus, eikä sitä voida esittää pyynnöstä. Palvelu ei katkaise tai muokkaa asiakastietoja. Voit ratkaista ongelman pienentämällä Dataversen ylimiksoitua tietuetta poistamalla sen, tyhjentämällä suuren kentän tai siirtämällä sisällön pois Dataversesta.

Kuinka voin käyttää Azure Synapse -linkkiä kriittisten tietojen arkistoinniin?

Azure Synapse Link for Dataverse on suunniteltu analyysitarkoituksiin. Suosittelemme, että asiakkaat käyttävät pitkäaikaista säilytystä arkistointitarkoituksiin. Lisätietoja: Dataversen pitkän aikavälin tietojen säilytyskatsauksen yleiskatsaus

Miksi en näe Data Lake -tallennustilan tietojen muutoksia, kun tietueet on poistettu Dataverse-järjestelmässä?

Jos suora SQL-kutsu poistaa tietueen, Azure Synapse Link for Dataverse -palvelu ei käynnisty, koska BPO. Poista-kutsua ei kutsuta. Jos haluat käyttää malliominaisuutta, siirry kohtaan Miten peritty käyttöoikeus puhdistetaan.

Miksi saan tyypin muuntovirheen aikaleimasarakkeissa, kun luen Parquet-tiedostoja Apache Spark 3.5:ssä tai uudemmassa versiossa?

Sekä oman datajärven että hallitun datajärven profiileissa Parquet-tiedostojen aikaleimat tallennetaan INT64-muodossa. Voit kohdata virheitä jatkojalostusputkissa, kuten Azure Synapse jakson kopiointitoiminnoissa, lukiessasi näitä Parquet-tiedostoja Apache Spark 3.5:n tai uudemman version kautta. Tämä johtuu siitä, että INT96 ei ole enää Spark 3.5:n aikaleiman oletustila.

Saatat saada seuraavanlaisen virheen:

TypeConversionNotSupportedDataTypes, Exception occurred when converting value "1774478519775185" for column name 'SinkCreatedOn' from type 'Int64'

Voit ratkaista ongelman lisäämällä SQL-funktion sql-kohdetietokantaan, joka muuntaa aikaleima-arvot INT64:stä sopivaan datetime-muotoon. Voit myös päivittää jatkoputkia int64-muotoon.