Älykäs välimuisti Microsoft Fabricissa
Älykäs välimuistitoiminto toimii saumattomasti taustalla ja tallentaa tietoja välimuistiin, mikä nopeuttaa Apache Spark -töiden suorittamista Microsoft Fabricissa, kun se lukee OneLake- tai Azure Data Lake Tallennus (ADLS) Gen2 -tallennustilasta pikakuvakkeiden kautta. Se myös tunnistaa automaattisesti pohjana olevien tiedostojen muutokset ja päivittää välimuistissa olevat tiedostot automaattisesti, jolloin saat uusimmat tiedot. Kun välimuistin koko saavuttaa rajansa, välimuisti julkaisee automaattisesti vähiten luetut tiedot, jotta sille saadaan tilaa uusimmille tiedoille. Tämä ominaisuus alentaa omistajuuden kokonaiskustannuksia parantamalla suorituskykyä jopa 60 % käytettävissä olevaan välimuistiin tallennettujen tiedostojen myöhemmissä lukemisissa.
Kun Microsoft Fabricin Apache Spark -moduuli lähettää kyselyjä lakehousesta tiedostoon tai taulukkoon, se lähettää etäsäilöön kutsun pohjana olevien tiedostojen lukemiseksi. Spark-moduulin on soitettava joka kerta etätallennustilalle kutsu jokaisen kyselypyynnön jälkeen, jotta se voi lukea samat tiedot. Tämä ylimääräinen prosessi lisää viiveen prosessointiaikaasi. Spark edellyttää välimuistiin tallentamista, että välimuisti on määritettävä ja julkaistava manuaalisesti viiveen minimoimiseksi ja yleisen suorituskyvyn parantamiseksi. Tämä vaatimus voi kuitenkin johtaa tietojen vanhentumiseen, jos pohjana olevat tiedot muuttuvat.
Älykäs välimuisti yksinkertaistaa prosessia tallentamalla automaattisesti välimuistiin jokaisen Spark-solmun määritetyssä välimuistitallennustilassa olevat tiedot, joihin datatiedostot tallennetaan SSD:n välimuistiin. Jokainen tiedostopyyntö tarkistaa, onko tiedosto olemassa paikallisessa solmuvälimuistissa, ja vertaa tunnistetta etätallennustilasta sen selvittämiseksi, onko tiedosto vanhentunut. Jos tiedostoa ei ole olemassa tai jos tiedosto on vanhentunut, Spark lukee tiedoston ja tallentaa sen välimuistiin. Kun välimuistista tulee täysi, vanhimman viimeisimmän käyttöajan sisältävä tiedosto häädetään välimuistista uudempien tiedostojen mahdollistamiseksi.
Älykäs välimuisti on yksi välimuisti solmua kohden. Jos käytät keskikokoista solmua ja suoritat kaksi pientä suoritettavaa tiedostoa tässä yhdessä solmussa, kahdella suoritettavalla tiedostolla on sama välimuisti. Lisäksi tämän tietotiedostotason välimuistitallennuksen ansiosta useat kyselyt voivat käyttää samaa välimuistia, jos ne käyttävät samoja tietoja tai datatiedostoja.
Toiminta
Microsoft Fabricissa (Runtime 1.1 ja 1.2) älykäs välimuistitallennus on oletusarvoisesti käytössä kaikissa Spark-varannoissa kaikissa työtiloissa, joiden välimuistin koko on 50 %. Käytettävissä olevan tallennustilan todellinen koko ja jokaisen solmun välimuistin koko määräytyvät solmuperheen ja solmun koon mukaan.
Milloin kannattaa käyttää älykästä välimuistia?
Tämä ominaisuus hyödyttää sinua, jos:
Kuormitus edellyttää saman tiedoston lukemista useita kertoja ja tiedostokoko mahtuu välimuistiin.
Kuormituksessa käytetään Delta Lake -taulukoiden, Parquet- tai CSV-tiedostomuotoja.
Et näe älykkään välimuistin etua, jos:
Luet tiedostoa, jonka välimuistin koko ylittää. Tällöin tiedostojen alku voidaan häätää ja myöhemmät kyselyt pitää poistaa etätallennustilasta. Tässä tapauksessa et näe mitään etuja älykkäästä välimuistista, ja haluat ehkä kasvattaa välimuistin kokoa ja/tai solmun kokoa.
Kuormitus edellyttää suuria sekoitusmääriä. Älykkään välimuistin ottaminen pois käytöstä vapauttaa käytettävissä olevaa tilaa, jotta työsi ei onnistu, jos tallennustila ei riitä.
Älykkään välimuistin ottaminen käyttöön ja poistaminen käytöstä
Voit poistaa älykkään välimuistin käytöstä tai ottaa sen käyttöön istunnossa suorittamalla seuraavan koodin muistikirjassasi tai määrittämällä tämän määrityksen työtilan tai ympäristön tietoyksikön tasolla.
spark.conf.set("spark.synapse.vegas.useCache", "false/true")