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.
Sopivan kokoiset tiedostot ovat tärkeitä kyselyn suorituskyvyn, resurssien käytön ja metatietojen hallinnan kannalta. Pienemmät tiedostot lisäävät tehtävien yleiskustannuksia ja metatietotoimintoja, kun taas suuremmat tiedostot voivat alihyödyntää rinnakkaisuutta ja vääristää I/O:ta. Delta Lake käyttää tiedostojen metatietoja osion karsimiseen ja tietojen ohittamiseen, joten oikean tiedostokoon kohdistaminen varmistaa tehokkaan lukemisen, kirjoittamisen ja ylläpidon.
Tiedostokoon suosituksia kulutusskenaarioittain (SQL Analytics Endpoint, Power BI Direct Lake, Spark) löytyy kohdasta Cross-workload table maintenance and optimization.
Seuraavissa osioissa kuvataan tärkeimmät ominaisuudet, joita voit käyttää tiedostokoon säätämiseen Delta-taulukoissa.
Viritettävät tietojen asettelutoiminnot
Optimoi
Komento OPTIMIZE kirjoittaa pienet tiedostot uudelleen suuremmiksi tiedostoiksi Delta-taulukoiden tietojen asettelun parantamiseksi. Lisätietoja, mukaan lukien tiedostokoon säätötiedot, on OPTIMIZE-komennon dokumentaatiossa.
Automaattinen tiivistys
Automaattinen tiivistys arvioi osion kunnon automaattisesti jokaisen kirjoitustoiminnon jälkeen. Kun se havaitsee liiallisen tiedoston pirstoutumisen (liian monta pientä tiedostoa) osiossa, se käynnistää synkronisen OPTIMIZE toiminnon heti kirjoituksen suorittamisen jälkeen. Tämä kirjoittajalähtöinen lähestymistapa tiedostojen ylläpitoon on yleensä optimaalinen, koska tiivistys suoritetaan vain, kun se on ohjelmallisesti määritetty hyödylliseksi. Yksityiskohtaiset määritysvaihtoehdot ja lisätietoja ovat automaattisen tiivistyksen dokumentaatiossa.
Optimoi kirjoitus
Optimoi kirjoitus vähentää pienten tiedostojen kustannuksia suorittamalla kirjoitusta edeltävän tiivistämisen (varastopaikkapakkauksen), joka tuottaa vähemmän ja suurempia tiedostoja. Tämä lähestymistapa sekoittaa muistissa olevat tiedot optimaalisen kokoisiin varastopaikkoihin ennen kuin Spark kirjoittaa Parquet-tiedostot, mikä maksimoi mahdollisuuden luoda sopivan kokoisia tiedostoja ilman välittömiä kirjoituksen jälkeisiä puhdistustoimintoja.
Käytä optimointikirjoitusta valikoivasti. Sekoittaminen voi lisätä tarpeetonta käsittelyaikaa joillakin kirjoituspoluilla. Optimoitu kirjoitus on hyödyllisintä silloin, kun kirjoitukset muuten aiheuttaisivat paljon pieniä tiedostoja, jotka myöhemmin vaativat tiivistämistä.
Optimoi kirjoitus on yleensä hyödyllistä seuraaville:
- Osioidut taulukot
- Pöydät, joissa on usein pieniä lisäosia
- Toiminnot, jotka todennäköisesti koskettavat useita tiedostoja (
MERGE, ,UPDATEjaDELETE)
Jos haluat käyttää valikoivasti tietyissä taulukoissa, poista istunnon määritys ja ota taulukko-ominaisuus käyttöön yksitellen. Tämän avulla jokainen taulu voi hallita, sovelletaanko optimoitua kirjoitusta.
Poista asetus, optimoi kirjoitus
spark.conf.unset("spark.databricks.delta.optimizeWrite.enabled")Ota käyttöön yksittäisessä taulukossa
ALTER TABLE dbo.table_name SET TBLPROPERTIES ('delta.autoOptimize.optimizeWrite' = 'true')
Salliaksesi optimoidun kirjoituksen kirjoituksille kaikkiin osioituihin tauluihin Spark-istunnossa, varmista, että istuntoasetukset ovat pois asetuksista, ja aseta spark.microsoft.delta.optimizeWrite.partitioned.enabledsitten :
Optimoi kirjoitus -toiminnolla luotua kohdetiedostokokoa voidaan säätää konfiguraation kautta spark.databricks.delta.optimizeWrite.binSize .
Note
Katso resurssiprofiileista oletusarvoiset kirjoitusasetusten optimointi resurssiprofiilin mukaan.
Aseta kohdetiedostokoko johdonmukaisesti
Välttääksesi erillisten minimi- ja maksimitiedostokokoisten sessiokonfiguraatioiden asettamisen optimoinnille, automaattiselle tiivistämiselle ja kirjoituksen optimoinnille, käytä taulukon delta.targetFileSize ominaisuutta. Tämä ominaisuus yhdistää tiedostokoon käyttäytymisen taulukkotasolla. Määritetään arvo tavumerkkijonona (esimerkiksi 1073741824b, 1048576k, 1024m, ). 1g Kun se asetetaan, se menee etusijalle istuntokonfiguraatioiden ja adaptiivisen kohdetiedoston koon edelle.
ALTER TABLE dbo.table_name
SET TBLPROPERTIES ('delta.targetFileSize' = '256m')
Mukautuva kohdetiedostokoko
Microsoft Fabric tarjoaa adaptiivisen kohdetiedostokoon poistaakseen monimutkaisuuden, joka liittyy kaikkien istunnon taulujen tai yksittäisten taulukoiden tavoitetiedostokoon manuaaliseen säätämiseen delta.targetFileSize-tauluominaisuuden kautta. Mukautuva kohdetiedostokoko käyttää Delta-taulukon heuristiikkaa, kuten taulukon kokoa, ihanteellisen kohdetiedostokoon arvioimiseen ja päivittää kohteen automaattisesti olosuhteiden muuttuessa, mikä varmistaa optimaalisen suorituskyvyn ilman manuaalisia toimenpiteitä tai ylläpitokustannuksia.
Ota käyttöön adaptiivinen kohdetiedostokoko
Note
Vaikka se ei ole tällä hetkellä oletusarvoisesti käytössä, Microsoft suosittelee mukautuvan kohdetiedostokoon istunnon määrityksen käyttöönottoa.
Ota mukautuva kohdetiedoston koko käyttöön Spark-istunnossa luoduissa tai muokatuissa taulukoissa määrittämällä seuraavat Spark-istunnon määritykset:
Ymmärrä arviointikäyttäytymistä
Kun tämä on käytössä, mukautuva kohdetiedoston koko arvioidaan ja määritetään seuraavissa tilanteissa:
-
CREATE TABLE AS SELECTjaCREATE OR REPLACE TABLE AS SELECTtoiminta - Korvaa kirjoitukset (esimerkiksi
DataFrame.write.mode("overwrite")taiINSERT OVERWRITE) - Kirjoittaa
ErrorIfExists,AppendtaiIgnore-tilassa uutta taulukkoa luotaessa - Komennon alussa
OPTIMIZE
Kun ihanteellinen koko on asetettu, se arvioidaan uudelleen jokaisen OPTIMIZE toiminnon alussa sen varmistamiseksi, että nykyinen heuristiikka heijastaa uusinta tietojen jakautumista ja taulukon kasvua. Tämä mukautuva lähestymistapa päivittää kohdetiedoston koon automaattisesti ajan myötä, mikä poistaa manuaalisen säädön tarpeen säilyttäen samalla kyselyn ja kirjoituksen suorituskyvyn tietojen kasvaessa. Kun haluat lukita tietyn koon, kuten hyperviritys- tai testauskäyttötapauksissa, voit ohittaa mukautuvan asetuksen määrittämällä käyttäjän määrittämän delta.targetFileSize taulukon ominaisuuden eksplisiittisesti.
Säädä adaptiiviset kohdetiedoston koon rajat
Mukautuvaa kohdetiedostokokoa voidaan määrittää edelleen seuraavien Spark-istunnon määritysten avulla:
| Ominaisuus | Kuvaus | Oletusarvo | Istunnon määritys |
|---|---|---|---|
| minFileSize | Määrittää tiedoston vähimmäiskoon (alaraja) tavumerkkijonona, jota mukautuva kohdetiedostokoko käyttää arvioitaessa. On oltava 128–1 Gt. | 128 metriä | spark.microsoft.delta.targetFileSize.adaptive.minFileSize |
| maxFileSize | Määrittää tiedoston enimmäiskoon (ylärajan) tavumerkkijonona, jota mukautuva kohdetiedostokoko käyttää arvioitaessa. On oltava 128–1 Gt. | 1024 metriä | spark.microsoft.delta.targetFileSize.adaptive.maxFileSize |
| stopAtMaxSize | Kun true, pysäyttää koon arvioinnin, kun laskettu kohdetiedoston koko saavuttaa maxFileSize, mikä vähentää arviointikustannuksia erittäin suurissa taulukoissa. |
true | spark.microsoft.delta.targetFileSize.adaptive.stopAtMaxSize |
Note
Kun stopAtMaxSize tämä on käytössä (oletus), mukautuvan kohteen koko pysyy kiinteänä maksimiarvossa, kun se on saavutettu, jolloin vältytään ylimääräisiltä laskelmilta. Jos taulukot saattavat kutistua kasvattamisen jälkeen, määritä tämän ominaisuuden arvoksi false sallimaan uudelleenlaskenta enimmäisrajan alapuolella.
Tarkastele arvioitua kohdekokoa
Voit auditoida arvioidun adaptiivisen kohdetiedoston koon tarkastelemalla taulukon yksityiskohtia ja ominaisuuksia kohteesta DESCRIBE DETAIL tai DESCRIBE EXTENDED. Arvioitu arvo kirjoitetaan tavumerkkijonona tauluominaisuudessa delta.targetFileSize.adaptive .
Tätä arvoa käytetään tavoitekokona optimoinnissa, automaattisessa tiivistämisessä ja kirjoituksen optimoinnissa. Liittyvä minimiarvo lasketaan puoleksi arvosta delta.targetFileSize.adaptive.
Ymmärrä suorituskykyvaikutus
Seuraava kaavio havainnollistaa taulukon koon ja optimaalisen parquet-tiedostokoon välistä suhdetta. Alle 10 Gt:n taulukoissa Fabric Spark Runtime arvioi kohdetiedoston kooksi 128 Mt. Taulukon koon kasvaessa kohdetiedoston koko skaalautuu lineaarisesti ja on jopa 1 Gt taulukoissa, joiden koko on yli 10 Tt.
Aloittamalla pienestä 128 Mt:sta ja skaalaamalla sitten parkettitiedostojen kokoa taulukon kasvaessa on peräkkäisiä etuja:
Parannettu Delta-tiedostojen ohittaminen: Oikean kokoiset tiedostot tukevat optimaalista tietojen klusterointia ja ohittamista, jolloin Deltan tiedostojen ohitusprotokolla voi poistaa epäolennaisemmat tiedostot kyselyn suorittamisen aikana. Pieni taulukko, jossa on 128 Mt tiedostoja 1 Gt:n sijaan, mahdollistaa 8 kertaa enemmän mahdollista tiedostojen ohittamista.
Pienemmät päivityskustannukset:
MERGEjaUPDATEtoiminnot kirjoittavat vain uudelleen tiedostoja, joita ongelma koskee. Oikean kokoiset tiedostot minimoivat toimintoa kohden kosketettavien tiedostojen määrän, mikä vähentää uudelleenkirjoitettavan tiedon määrää. Kun poistovektorit ovat käytössä, tiedostojen oikea koko on ratkaisevan tärkeää: ylisuurten tiedostojen rivitason hautakivet aiheuttavat huomattavia puhdistuskustannuksia tiivistämisen tai tyhjennyksen aikana.Optimoitu rinnakkaisuus: Oikean kokoisten tiedostojen avulla Spark voi saavuttaa ihanteellisen tehtävien rinnakkaisuuden. Liian monet pienet tiedostot hukuttavat ajoittimen; liian harvat suuret tiedostot eivät hyödynnä Spark-varantoasi. Optimaalinen koko maksimoi sekä luku- että kirjoitusnopeuden.
Adaptiivinen kohdetiedostokoko voi parantaa tiivistyssuorituskykyä ja kysely-/kirjoitusviivettä, kun se valitsee paremman koon kuin oletusasetukset. Jos adaptiivinen arviointi tuottaa saman koon kuin oletus Spark-istuntokonfiguraatio, mitattavissa olevaa parannusta ei odoteta.
Tärkeää
Kirjoitusvahvistus tapahtuu, kun aiemmin tiivistettyjä tiedostoja kirjoitetaan uudelleen kohdetiedoston koon kasvaessa ajan myötä. Tämän riskin vähentämiseksi ota käyttöön tiedostotason tiivistyskohteet (spark.microsoft.delta.optimize.fileLevelTarget.enabled=true). Tämä asetus auttaa säilyttämään aiemman tiivistystyön ohittamalla tarpeettoman tiedostojen uudelleenjärjestelyt, jotka oli jo tiivistetty aiempien kohdekoojen alle. Lisätietoja löytyy tiedostotason tiivistämistavoitteista.
Yhteenveto parhaista käytännöistä
Käytä näitä suosituksia tasapainottamaan kirjoituskustannusta, lukusuorituskykyä ja ylläpitokustannuksia taulukoiden kasvaessa.
- Ota automaattinen tiivistyminen käyttöön pipelines usein pienillä kirjoituksilla (suoratoisto tai mikroerä), jotta tiedostojen terveys säilyy ilman manuaalista ajoitusta.
- Käytä automaattista tiivistämistä valikoivasti muille kirjoitusmalleille , kun palvelutason tavoitteesi kestävät ajoittaisia kirjoitusviiveen piikkejä.
- Ota käyttöön adaptiivinen kohdetiedoston koko manuaalisen virityksen vähentämiseksi ja kohteen koon pitämiseksi linjassa taulukon kasvun kanssa.
- Käytä Optimo-kirjoitusta hallituissa syöttöpoluissa (erätyöt, jotka kestävät sekoitusta, ositettuja kirjoituksia tai usein pieniä kirjoituksia) vähentääksesi jälkivirran tiivistymispainetta.
-
Aikatauluta koko taulukko
OPTIMIZEhiljaisina ikkunoina , kun sinun täytyy kirjoittaa useita osioita uudelleen tai soveltaa Z-järjestystä. -
Ota nopea optimointi käyttöön vähentääksesi kirjoitusvahvistusta ja tehdäksemme
OPTIMIZEenemmän idempotenttia. Katso nopea optimointi. -
Käytä
delta.targetFileSizetai mukauta kohdetiedoston kokoa johdonmukaisesti , joten optimoi, automaattinen tiivistys ja kirjoituskonvergaatio yhteensopivissa tiedostokoon tavoitteissa. - Ota tiedostotason tiivistyskohteet käyttöön vähentääksesi tarpeetonta uudelleenpakkaamista kohdetiedostojen koon kasvaessa ajan myötä.