Avaa peilauksena silausvyöhykevaatimukset ja muoto
Tässä artikkelissa kuvataan avoimien peilauksen saapumisvyöhykkeen ja taulukon/sarakkeen toimintavaatimukset Microsoft Fabricissa.
Kun olet luonut avoimen peilatun tietokannan Fabric-portaalin tai julkisen ohjelmointirajapinnan kautta Fabric-työtilassa, saat onelakessa aloitusalueen URL-osoitteen peilatun tietokantakohteesi aloitussivulta . Tällä saapumisalueella sovelluksesi luo metatietotiedoston ja maatiedot Parquet-muodossa (pakkaamaton, Snappy, GZIP, ZSTD).
Laskeutumisalue
Jokaiselle peilatulle tietokannalle on OneLakessa ainutlaatuinen tallennussijainti metatiedoja ja delta-taulukoita varten. Avoin peilaus tarjoaa sovellukselle saapumisvyöhykekansion, jossa voit luoda metatietotiedoston ja työntää tietoja OneLakeen. Peilaus valvoo näitä tiedostoja aloitusalueella ja lukee kansion uusille taulukoille ja lisätyille tiedoille.
Jos esimerkiksi aloitusalueelle on luotava taulukoita (Table A
, Table B
, Table C
), luo kansioita, kuten seuraavat URL-osoitteet:
https://onelake.dfs.fabric.microsoft.com/<workspace id>/<mirrored database id>/LandingZone/TableA
https://onelake.dfs.fabric.microsoft.com/<workspace id>/<mirrored database id>/LandingZone/TableB
https://onelake.dfs.fabric.microsoft.com/<workspace id>/<mirrored database id>/LandingZone/TableC
Metatietotiedosto aloitusalueella
Jokaisessa taulukkokansiossa _metadata.json
on oltava tiedosto.
Tämä taulukon metatietotiedosto sisältää JSON-tietueen, joka tällä hetkellä määrittää vain yksilöivät avainsarakkeet muodossa keyColumns
.
Esimerkiksi sarakkeiden C1
ilmoittaminen ja C2
taulukon yksilöivän yhdistelmäavaimena:
{
"keyColumns" : ["C1", "C2"]
}
Jos keyColumns
tai _metadata.json
ei määritetä, päivitystä/poistamista ei voi tehdä. Tämä tiedosto voidaan lisätä milloin tahansa, mutta lisäystä keyColumns
ei voi muuttaa.
Datatiedosto ja muoto aloitusvyöhykkeellä
Avoin peilaus tukee Parquetia aloitusalueen tiedostomuodossa pakkaamisen kanssa tai ilman sitä. Tuettuja pakkausmuotoja ovat Snappy, GZIP ja ZSTD.
Kaikki maihinnousualueelle kirjoitetut Parquet-tiedostot ovat seuraavassa muodossa:
<RowMarker><DataColumns>
RowMarker
: sarakkeen nimi on__rowMarker__
(mukaan lukien kaksi alaviivaa ennen ja jälkeenrowMarker
).RowMaker
arvot:0
LISÄÄ-kohtaan1
PÄIVITYSTÄ VARTEN2
poista4
UPSERT:lle
Rivijärjestys: Tiedoston kaikkien lokien on oltava luonnollisessa järjestyksessä, kuten tapahtumassa käytetään. Tämä on tärkeää samalle riville, jota päivitetään useita kertoja. Avoin peilaus ottaa muutokset käyttöön tiedostojen järjestyksessä.
Tiedostojärjestys: Tiedostot tulee lisätä yksitoikkoisesti kasvavina lukuina.
Tiedostonimi: Tiedostonimi on 20 numeroa, kuten
00000000000000000001.parquet
ensimmäisessä tiedostossa ja00000000000000000002.parquet
toisella. Tiedostonimien tulee olla jatkuvissa luvuissa. Peilauspalvelu poistaa tiedostot automaattisesti, mutta viimeinen tiedosto jätetään niin, että julkaisijajärjestelmä voi viitata siihen lisätäkseen seuraavan tiedoston järjestyksessä.
Alkuperäinen lataus
Tietojen ensimmäisen kuormituksen avoimeen peilattuun tietokantaan kaikilla riveillä tulee olla LISÄÄ rivimerkkinä. Ilman RowMarker
tiedoston tietoja peilaus käsittelee koko tiedostoa INSERT-muodossa.
Lisäävät muutokset
Avoin peilaus lukee lisääviä muutoksia järjestyksessä ja ottaa ne käyttöön delta-kohdetaulukossa. Muutoslokin ja tiedostojen järjestyksen implisiittinen järjestys.
Päivitettyjen rivien on sisällettävä koko rivin tiedot kaikki sarakkeita käyttäen.
Tässä on joitakin rivihistorian esimerkkiparquet-tietoja, jotka muuttavat E0001:n EmployeeLocation
EmployeeID
Redmondista Bellevueen. Tässä skenaariossa EmployeeID
sarake on merkitty aloitusvyöhykkeen metatietotiedoston avainsarakkeeksi.
__rowMarker__,EmployeeID,EmployeeLocation
0,E0001,Redmond
0,E0002,Redmond
0,E0003,Redmond
1,E0001,Bellevue
Jos avainsarakkeet päivitetään, sen pitäisi olla DELETE-funktiolla edellisissä avainsarakkeissa ja LISÄÄ-riveillä, joissa on uusi avain ja tiedot. Esimerkiksi rivihistoria, jonka avulla E0001: RowMarker
n yksilöivä tunniste muutetaan E0001:ksi E0002:ksi EmployeeID
. Sinun ei tarvitse antaa kaikkia saraketietoja DELETE-riville, vain avainsarakkeille.
__rowMarker__,EmployeeID,EmployeeLocation
0,E0001,Bellevue
2,E0001,NULL
0,E0002,Bellevue
Taulukkotoiminnot
Avoin peilaus tukee taulukkotoimintoja, kuten taulukoiden lisäämistä, pudottamista ja uudelleennimeämistä.
Lisää taulukko
Avoin peilaus poimii ylös minkä tahansa sovelluksen laskeutumisalueelle lisätyn taulukon. Avaa uusien taulukoiden peilauskuvaukset jokaisessa iteraatiossa.
Avattava taulukko
Avoin peilaus pitää kirjaa kansion nimestä. Jos taulukkokansio poistetaan, peilattu tietokanta pudottaa taulukon avoimeen peilattuun tietokantaan.
Jos kansio luodaan uudelleen, avoin peilaus pudottaa taulukon ja luo sen uudelleen kansion uusilla tiedoilla, jotka suoritetaan seuraamalla kansion ETag-mittaria.
Kun yrität pudottaa taulukon, voit yrittää poistaa kansion, mutta on olemassa mahdollisuus, että avoin peilaus käyttää edelleen tietoja kansiosta, mikä aiheuttaa poistovirheen julkaisijalle.
Taulukon nimeäminen uudelleen
Jos haluat nimetä taulukon uudelleen, pudota kansio uudelleen ja luo se uudelleen käyttäen alkuperäisiä ja lisääviä tietoja. Tiedot on lisättävä uudelleen nimettyun taulukkoon.
Rakenne
Taulukon polku voidaan määrittää rakennekansioon. Rakenteen aloitusvyöhykkeellä tulee olla kansion <schemaname>.schema
nimi. Rakenteet voivat olla useita ja rakenteessa voi olla useita taulukoita.
Jos sinulla on esimerkiksi rakenteet (Schema1
, Schema2
) ja taulukot (Table A
, Table B
, Table C
), jotka on luotava aloitusalueelle, luo kansioita, kuten seuraavat polut OneLakessa:
https://onelake.dfs.fabric.microsoft.com/<workspace id>/<mirrored database id>/LandingZone/Schema1.schema/TableA
https://onelake.dfs.fabric.microsoft.com/<workspace id>/<mirrored database id>/LandingZone/Schema1.schema/TableB
https://onelake.dfs.fabric.microsoft.com/<workspace id>/<mirrored database id>/LandingZone/Schema2.schema/TableC
Taulukon sarakkeet ja saraketoiminnot
Saraketyypit
- Yksinkertaisia parquet-tyyppejä tuetaan aloitusvyöhykkeessä.
- Monimutkaiset tyypit tulee kirjoittaa JSON-merkkijonona.
- Binaarista monitasoisia tyyppejä, kuten maantiede, kuvat jne. voidaan tallentaa binaarityyppinä saapumisalueelle.
Lisää sarake
Jos uusia sarakkeita lisätään parquet-tiedostoihin, avoin peilaus lisää sarakkeet delta-taulukoihin.
Poista sarake
Jos sarake pudotetaan uusista lokitiedostoista, avaa kyseisten sarakkeiden peilaussäilöt NULL
uusilla riveillä ja vanhoilla riveillä on sarakkeita tiedoissa. Jos haluat poistaa sarakkeen, pudota taulukko ja luo taulukkokansio uudelleen aloitusalueelle, jolloin Delta-taulukko luodaan uudelleen uudella rakenteella ja tiedoilla.
Avoin peilaus yhdistää aina kaikki lisättyjen tietojen aiemman version sarakkeet. Jos haluat poistaa sarakkeen, luo taulukko/kansio uudelleen.
Muuta saraketyyppiä
Jos haluat muuttaa saraketyyppiä, pudota ja luo kansio uudelleen käyttäen alkuperäisiä ja lisääviä tietoja uudella saraketyypillä. Uuden saraketyypin tarjoaminen ilman taulukon uudelleenluomista aiheuttaa virheen, ja tämän taulukon replikointi lopetetaan. Kun taulukkokansio on luotu uudelleen, replikointi jatkuu uusilla tiedoilla ja rakenteella.
Sarakkeen nimeäminen uudelleen
Jos haluat nimetä sarakkeen uudelleen, poista taulukkokansio ja luo kansio uudelleen kaikilla tiedoilla ja uudella sarakkeen nimellä.