Jaa


Älykäs välimuisti Microsoft Fabricissa

Älykäs välimuistitoiminto toimii saumattomasti taustalla ja tallentaa tietoja nopeuttaakseen Apache Spark -tehtävien suorittamista Microsoft Fabricissa, kun se lukee OneLake- tai Azure Data Lake Storage (ADLS) Gen2 -tallennustilastasi pikakuvakkeiden kautta. Se tunnistaa myös automaattisesti muutokset taustalla oleviin tiedostoihin ja päivittää tiedostot välimuistissa, tarjoten sinulle viimeisimmät tiedot. Kun välimuistin koko saavuttaa rajansa, välimuisti vapauttaa automaattisesti vähiten luetun datan tehdäkseen tilaa tuoreemmalle datalle. Tämä ominaisuus alentaa kokonaisomistuskustannuksia parantamalla suorituskykyä jopa 60% myöhemmillä lukukerroilla tiedostoista, jotka tallennetaan käytettävissä olevaan välimuistiin.

Kun Microsoft Fabricin Apache Spark -moottori kysyy tiedostoa tai taulukkoa järvenmökistäsi, se soittaa etätallennustilaan lukeakseen taustalla olevat tiedostot. Jokaisen kyselypyynnön kohdalla saman datan lukemiseksi Spark-moottorin on tehtävä joka kerta etätallennustila. Tämä redundantti prosessi lisää viivettä kokonaiskäsittelyaikaasi. Sparkissa on välimuistivaatimus, jonka mukaan välimuisti täytyy asettaa ja vapauttaa manuaalisesti viiveen minimoimiseksi ja suorituskyvyn parantamiseksi. Tämä vaatimus voi kuitenkin johtaa vanhentuneeseen dataan, jos taustalla oleva data muuttuu.

Älykäs välimuisti yksinkertaistaa prosessia välimuistittamalla automaattisesti jokaisen lukeman varatussa välimuistitilassa jokaisessa Spark-solmussa, jossa datatiedostot ovat SSD-muistissa. Jokainen tiedostopyyntö tarkistaa, onko tiedosto paikallisessa solmuvälimuistissa ja vertaa etänä olevaa tunnistetta selvittääkseen, onko tiedosto vanhentunut. Jos tiedostoa ei ole olemassa tai tiedosto on vanhentunut, Spark lukee tiedoston ja tallentaa sen välimuistiin. Kun välimuisti täyttyy, vanhin viimeinen käyttöaika omaava tiedosto poistetaan välimuistista, jotta voidaan saada uudempia tiedostoja.

Älykäs välimuisti tarkoittaa yhtä välimuistia per solmu. Jos käytät keskikokoista solmua ja käytät kahta pientä suorittajaa samalla solmulla, molemmat suorittajat jakavat saman välimuistin. Lisäksi tämä tietotiedostotason välimuisti mahdollistaa useiden kyselyiden käyttää samaa välimuistia, jos ne käyttävät samoja tietoja tai tiedostoja.

Miten se toimii?

Microsoft Fabricissa (Runtime 1.1 ja 1.2) älykäs välimuisti on oletuksena käytössä kaikissa Spark-pooleissa kaikissa työtiloissa, joiden välimuistikoko on 50%. Käytettävissä olevan tallennustilan koko ja kunkin solmun välimuistin koko riippuvat solmuperheestä ja solmukoosta.

Milloin käyttää älykästä välimuistia

Tämä ominaisuus hyödyttää sinua, jos:

  • Työkuormasi vaatii saman tiedoston lukemista useaan kertaan, ja tiedostokoko mahtuu välimuistiin.

  • Työkuormasi käyttää Delta Lake -tauluja, Parquet- tai CSV-tiedostomuotoja.

Et näe älykäden hyötyä, jos:

  • Luet tiedostoa, joka ylittää välimuistin koon. Jos näin on, tiedostojen alku voidaan poistaa, ja myöhempien kyselyjen täytyy palauttaa tiedot etätallennustilasta. Tässä tapauksessa et näe älykkäästä välimuistista mitään hyötyä, ja saatat haluta kasvattaa välimuistin ja/tai solmujen kokoa.

  • Työkuormasi vaatii paljon siirtelyä. Älykäden välimuistin poistaminen käytöstä vapauttaa vapaata tilaa, jotta työsi ei epäonnistu riittämättömän tallennustilan vuoksi.

Ota ja poista käytöstä älykäs välimuisti

Voit poistaa käytöstä tai ottaa älykäden välimuistin käyttöön istunnossa ajamalla seuraavan koodin muistikirjassasi tai asettamalla tämän asetuksen työtila- tai ympäristökohdetasolle.

spark.conf.set("spark.synapse.vegas.useCache", "false/true")