Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Koskee:✅ Microsoft Fabric -varasto
Transact-SQL-kieli tarjoaa vaihtoehtoja, joiden avulla voit ladata tietoja skaalatusti lakehousen nykyisistä taulukoista ja varastosta uusiin taulukoihin varastossasi. Nämä asetukset ovat käteviä, jos sinun on luotava uusia versioita koostetietoja sisältävästä taulukosta, versioita taulukoista, joissa on rivien alijoukko, tai luoda taulukko monimutkaisen kyselyn tuloksena. Tutustutaan joihinkin esimerkkeihin.
Valitse T-SQL:n sisäänkäyntilause
T-SQL-kieli tarjoaa laajan joukon lauseita, joita voit käyttää datan vastaanottamiseen ja muuntamiseen varastossasi. Voit ladata dataa uusiin tai olemassa oleviin tauluihin, lisätä uusia rivejä, muuntaa dataa vastaanoton aikana tai synkronoida muutokset olemassa olevien tietojen kanssa. Warehouse in Microsoft Fabric tukee seuraavia T-SQL:n vastaanottolauseita:
-
CREATE TABLE AS SELECT(CTAS) -lauseke, jonka avulla voit luoda uuden taulukon varastoosi lausekkeenSELECTtuloksen perusteella. -
SELECT INTOkyselylause, jonka avulla voit valita tuloksia mistä tahansa taulukkolähteestä ja ohjata tulokset uuteen taulukkoon. Tämä on T-SQL-kielen vakioominaisuus. -
INSERT ... SELECTLisää kyselytulokset kohdetauluun. Käytä tätä lausetta, kun haluat ladata uuden erän tai inkrementaalisen osajoukon taulukkoon, jonka skeemaa hallitset. -
MERGEvertaa lähde- ja kohderivejä ja lisää, päivittää tai poistaa kohderivit ehdollisesti. Käytä tätä lausetta, kun sinun täytyy synkronoida uudet ja muutetut rivit tai sovittaa kohde täydellisen lähdetilannekuvan kanssa.
Valitse lause sen perusteella, onko kohdetaulu jo olemassa ja haluatko luoda, liittää tai synkronoida dataa. Jokaisen lauseen lähde on T-SQL-kysely. Voit käyttää tuettuja lausekkeita, funktioita, suodattimia, liitoksia ja aggregaatioita muokataksesi dataa käsittelyn aikana. Voit käyttää seuraavia tietolähteitä lukeaksesi tietoja T-SQL-lauseistasi:
- Luetaan varastotaulukkoa, kuten valmistelutaulukkoa.
- Lakehouse Delta Lake -kansion lukeminen käyttäen automaattisesti luotua taulukkoa SQL-analytiikan päätepisteessä Lakehouselle.
- CSV-, Parquet- tai JSONL-tiedostojen lukeminen suoraan Azure Data Lakesta tai Azure Blob -säilöstä funktion avulla
OPENROWSET.
Käytä CTAS:ia taulukon luomiseen
CTAS luo kohdetaulun ja lataa kyselyn, mikä johtaa yhteen operaatioon.
Ensimmäinen esimerkki näyttää, miten luodaan uusi taulukko, joka on kopio olemassa dbo.TaxiTrips olevasta taulukosta, mutta suodatettu sisältämään vain vuoden 2023 tiedot:
CREATE TABLE dbo.TaxiTrips_2023
AS
SELECT *
FROM dbo.TaxiTrips
WHERE DATEPART(YEAR, tpep_pickup_datetime) = '2023';
Käytä CTAS :ia luodaksesi ja täyttääksesi uuden taulukon kyselytuloksista. Tämä menetelmä on hyödyllinen, kun kohdetaulua ei ole olemassa tai kun haluat materialisoida muunnettua tai yhdistettyä dataa yhdestä tai useammasta lähteestä.
Käytä SELECT INTO luodaksesi taulukon
SELECT ... INTO Luo myös kohdetaulukon kyselytuloksista:
SELECT *
INTO dbo.TaxiTrips_2023
FROM MyLakehouse.dbo.TaxiTrips
WHERE DATEPART(YEAR, tpep_pickup_datetime) = '2023';
Sekä CTAS että SELECT ... INTO päättelevät kohdesarakkeet kyselytuloksesta. Heittäkää lausekkeita eksplisiittisesti, kun kohde vaatii tietyn tietotyypin, tarkkuuden tai pituuden.
Käytä INSERT ... SELECT lisätäksesi dataa
INSERT ... SELECT lataa kyselytulokset olemassa olevaan taulukkoon.
Voit liittää dataa taulukkoon muuntamalla tietoja ulkoisesta, julkisesti saatavilla olevasta Parquet-tiedostosta:
INSERT INTO dbo.<table name>
SELECT *
FROM OPENROWSET(BULK 'https://<storage account>.blob.core.windows.net/public/<subfolder>/<file name>.parquet') AS data;
Käytä MERGE-toimintoa datan synkronointiin
MERGE Vastaa lähde- ja kohderivit vakaalla avaimella. Seuraava kaava olettaa, että dbo.DimCustomer lauseen käyttämissä sarakkeissa on jo olemassa. Varmista, että lähdekoodi palauttaa enintään yhden rivin jokaiselle kohdeavaimelle.
MERGE dbo.DimCustomer AS target
USING staging.Customers AS source
ON target.CustomerID = source.CustomerID
WHEN MATCHED AND source.ModifiedDate > target.ModifiedDate THEN
UPDATE SET CustomerName = source.CustomerName, City = source.City,
ModifiedDate = source.ModifiedDate
WHEN NOT MATCHED BY TARGET THEN
INSERT (CustomerID, CustomerName, City, ModifiedDate)
VALUES (source.CustomerID, source.CustomerName, source.City, source.ModifiedDate);
Käytä WHEN NOT MATCHED BY SOURCE THEN DELETE vain, kun lähdekysely edustaa koko auktoritatiivisen aineiston niille riveille, jotka kuuluvat laajuuteen. Älä käytä tuota lauseketta inkrementaalisen lähdeerän kanssa, koska erästä puuttuvat kohderivit voidaan poistaa.
Valitse tietolähde
Syöttölausekkeet toimivat johdonmukaisesti tuettujen lähdetyyppien välillä. Vain lähdeviite muuttuu.
Tiedostot järvessä
Käytä OPENROWSET Parquet-, CSV- tai JSONL-tiedostojen lukemiseen OneLake-, Azure Data Lake Storage- tai Azure Blob Storage-tiedostoissa. Voit kohdistaa yhteen tiedostoon, useampaan villikorttitiedostoon tai osioituihin kansioihin.
Tiedostopolkuja, skeemapäättelyä, ositussuodatusta, metatietofunktioita ja esimerkkejä kaikille neljälle sisääntulolauseelle katso Ingest and transform lake data with OPENROWSET ja T-SQL.
Delta-pöydät järvimajassa
Järvenrakennuksen SQL-analytiikan päätepiste paljastaa Delta-taulukot sen /Tables alueella. Varastosta samassa työtilassa viittaa taulukkoon käyttämällä kolmiosaista nimeä <lakehouse>.<schema>.<table>.
Tämä ei rajoitu pelkästään Delta-pöytiin, jotka on fyysisesti säilytetty järvenrakennuksessa. OneLake-pikakuvakkeiden /Tables kautta alueella näkyvät taulukot voivat myös viitata muualle tallennettuun dataan, kuten järvenrakennuksen /Files alueelle, ulkoiseen tallennukseen kuten ADLS tai Amazon S3, peilattua dataa sekä OneLake-dataa muissa työtiloissa.
Tämän arkkitehtuurin avulla voit hakea pikakuvakkeita Lakehouse SQL Analytics -päätepisteen kautta ilman, että sinun tarvitsee kopioida dataa lakehouseen.
Taulukon luomisen, inkrementaalisten kuormien ja synkronointiesimerkkien osalta katso Ingest Delta Lake -taulukot T-SQL:llä.
Pöydät nykyisessä varastossa
Käytä kaksiosaista nimeä, esimerkiksi <schema>.<table> vastaanottaaksesi dataa nykyisestä varaston taulusta.
Pronssista hopeaan kultaan -esimerkeistä, jotka yhdistävät, aggregoivat ja lataavat taulukot asteittain yhden varaston sisällä, katso Ingest from warehouse tables and mirrored databases with T-SQL.
Peilatut tietokannat ja muut työtilan kohteet
Jos haluat vastaanottaa dataa peilatusta tietokannasta, toisesta varastosta tai muusta tuetun kohteen samassa työtilassa, lisää kohde Explorer-ohjelmaan ja käytä kolmiosaista nimeä <item>.<schema>.<table>.
Lisätietoja varastojen välisille kyselyille on artikkelissa Tietokantojen välisen SQL-kyselyn kirjoittaminen.
Esimerkkejä, joissa käytetään molempia nimikuvioita, katso Ingest from warehouse tables and mirrored databases with T-SQL.
Auditoi ja valvo T-SQL:n vastaanottoa
CTAS, SELECT ... INTO, INSERT ... SELECT, ja MERGE toiminnot näkyvät varastokyselyhistoriassa/toiminnassa. Käytä kyselyoivalluksia suoritustietojen tarkistamiseen ja vastaanottokyselyjen vianetsintään.
Tietojen käsittelyasetukset
Käytä T-SQL:n vastaanottoa, kun kuormitus sisältää suodatuksen, tyyppimuunnoksen, liitokset, laskennan, aggregoinnin tai synkronoinnin. Valitse toinen vaihtoehto, kun: Muita tapoja siirtää dataa varastoosi ovat:
- Tietojen käyttö COPY-lausekkeen avulla
- Tietojen käsittely putkien avulla
- Datan vastaanotto datavirran avulla