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.
Lakehouse ja Delta Lake taulukkomuoto ovat keskeisiä Microsoft Fabric:lle. Delta-taulukoiden optimointi on avain suorituskykyyn ja kustannustehokkuuteen analytiikkakuormissa.
Tämä artikkeli auttaa sinua päättämään, milloin käyttää V-järjestystä ja näyttää Delta-taulukoiden pääkonfiguraatio- ja ylläpitomallit.
Käytä tätä artikkelia seuraavaan:
- Ymmärrä, mitä V-järjestys muuttaa ja milloin se auttaa.
- Ymmärrä, miten Z-järjestys ja V-järjestys täydentävät toisiaan.
- Valitse oikea ohjaustaso: istunto, tauluominaisuus tai kirjoitustoiminto.
- Sovella Delta-taulukon ylläpitomalleja oikeaan Spark-ajonaikaiseen kontekstiin.
Cross-workload -ohjeita V-järjestyksen soveltamisesta kulutusskenaarioiden perusteella löytyy kohdasta Cross-workload table ylläpito ja optimointi.
Mikä on V-järjestys?
V-order on kirjoitusaikainen optimointi Parquet-tiedostoille, joka voi parantaa alavirran kyselyjen suorituskykyä Fabric-moottoreiden välillä.
Yhdellä silmäyksellä:
- Missä se auttaa eniten: Luettavia kuvioita, kuten kojelaudanhallinta, interaktiivinen analytiikka ja toistuvat skannaukset.
- Miten se auttaa: Järjestää Parquetin asettelun uudelleen (esimerkiksi riviryhmäjakautuminen, koodaus ja pakkaus) parantaakseen lukutehokkuutta.
- Tyypillinen kompromissi: Kirjoitukset voivat kestää kauemmin (usein noin 15% keskimäärin), kun taas lukumäärät voivat parantua merkittävästi työmäärän mukaan.
- Moottorin yhteensopivuus: Tiedostot pysyvät avoimen lähdekoodin Parquet-yhteensopivina, ja Delta-ominaisuudet, kuten Z-Order, ovat yhteensopivia.
- Laajuus: V-järjestys on tiedostotaso. Delta-toimintoja, kuten tiivistymistä, tyhjiötä ja aikamatkustusta, voidaan käyttää sen kanssa.
Control V-järjestys kirjoittaa
V-järjestystä käytetään Parquet-tiedostoasettelun optimointiin nopeamman kyselysuorituskyvyn saavuttamiseksi, erityisesti lukupainotteisissa tilanteissa. Fabric-versiossa V-järjestys on oletuksena poistettu käytöstä kaikissa uusissa työtiloissa optimoimaan suorituskykyä kirjoituspainotteisille data-insinöörityökuormille.
V-järjestyksen käyttäytymistä Apache Sparkissa ohjataan seuraavilla kokoonpanoilla:
| Määritys | Oletusarvo | Kuvaus |
|---|---|---|
spark.sql.parquet.vorder.default |
false |
Ohjaa istuntotason V-järjestyksen kirjoittamista. Oletusarvon mukainen false asetus uusissa Fabric-työtiloissa. |
TBLPROPERTIES("delta.parquet.vorder.enabled") |
Poista joukosta | Ohjaa oletuksena V-järjestyksen käyttäytymistä taulukkotasolla. |
DataFrame-kirjoittajan vaihtoehto: parquet.vorder.enabled |
Poista joukosta | Käytetään V-järjestyksen ohjaamiseen kirjoitustoiminnon tasolla. |
Käytä seuraavia komentoja ottaaksesi käyttöön tai ohittaaksesi V-järjestyksen kirjoitukset tarpeen mukaan omassa tilanteessasi.
V-order on oletuksena poistettu käytöstä uusissa Fabric-työtiloissa (spark.sql.parquet.vorder.default=false) parantamaan kirjoitussuorituskykyä vastaanotto- ja muunnosputkissa.
Lukupainotteisissa työkuormissa, kuten interaktiivisissa kyselyissä tai dashboardingissa, ota V-järjestys käyttöön asettamalla spark.sql.parquet.vorder.default .true Voit myös vaihtaa resurssiprofiileihin readHeavyforSparkReadHeavy , jotka automaattisesti ottavat käyttöön V-järjestyksen lukukeskeistä suorituskykyä varten.
Fabric runtime 1.3:ssa ja uudemmissa versioissa asetus spark.sql.parquet.vorder.enable poistetaan. Koska V-järjestys voidaan soveltaa automaattisesti Delta-optimoinnissa , OPTIMIZEet tarvitse tätä vanhempaa asetusta. Jos siirrät aiemmista ajonaikaisista versioista, poista tämä asetus koodistasi.
Tarkista V-järjestyksen konfiguraatio Apache Spark -istunnossa
Käytä näitä komentoja vahvistaaksesi nykyisen istunnon arvon ennen kuin vaihdat sitä.
- Spark SQL
- PySpark
- Skalaa spark
- SparkR
%%sql
SET spark.sql.parquet.vorder.default
Poista V-järjestyksen kirjoittaminen käytöstä Apache Spark -istunnossa
Käytä näitä komentoja, kun työkuormasi on kirjoituspainotteinen ja haluat nopeamman vastaanoton tai muunnoskirjoituksen.
- Spark SQL
- PySpark
- Skalaa spark
- SparkR
%%sql
SET spark.sql.parquet.vorder.default=FALSE
Ota V-järjestyksen kirjoittaminen käyttöön Apache Spark -istunnossa
Kun otat V-järjestyksen käyttöön istuntotasolla, kaikki Parquet-kirjoitukset kyseisessä istunnossa käyttävät V-järjestystä, mukaan lukien ei-Delta-Parquet-taulukot ja Delta-taulukot, vaikka parquet.vorder.enabled ne olisivat eksplisiittisesti asetettu .false
- Spark SQL
- PySpark
- Skalaa spark
- SparkR
%%sql
SET spark.sql.parquet.vorder.default=TRUE
Ohjaus V-järjestys Delta-taulukon ominaisuuksien avulla
Tässä osiossa käytetään Spark SQL:ää vain siksi, että taulun ominaisuudet määritellään SQL, DDL:n ja ALTER TABLE lauseiden avulla.
Käytä taulun ominaisuuksia, kun haluat taulukkotason oletusen, joka pätee sessioiden välillä.
Ota V-järjestys-taulun ominaisuus käyttöön taulun luomisen aikana:
%%sql
CREATE TABLE person (id INT, name STRING, age INT) USING parquet TBLPROPERTIES("delta.parquet.vorder.enabled" = "true");
Kun taulukon ominaisuus on asetettu true, INSERT, UPDATE, ja MERGE sovelletaan V-järjestystä kirjoitusajankohtana. Istuntotason ja kirjoitustason asetukset ovat edelleen etusijalla, joten kirjoitukset voivat silti käyttää V-järjestystä, vaikka TBLPROPERTIES ne olisivat asetettu arvoon false.
Ota V-järjestys käyttöön tai poista käytöstä muuttamalla taulukon ominaisuutta:
%%sql
ALTER TABLE person SET TBLPROPERTIES("delta.parquet.vorder.enabled" = "true");
ALTER TABLE person SET TBLPROPERTIES("delta.parquet.vorder.enabled" = "false");
ALTER TABLE person UNSET TBLPROPERTIES("delta.parquet.vorder.enabled");
Kun otat tai poistat V-järjestyksen käytöstä taulun ominaisuuksilla, vaikuttuvat vain myöhemmät kirjoitukset taulukkoon. Parquet-tiedostot säilyttävät järjestyksen, jota käytettiin luonnin aikana. Nykyisen fyysisen rakenteen muuttamiseksi V-järjestyksen soveltamiseksi tai poistamiseksi lukee Taulukon tiivistäminen.
V-järjestyksen ohjaaminen suoraan kirjoitusoperaatioissa
Tässä osiossa käytetään PySpintia DataFrame-kirjoittajan API:n esittelyyn. Sama malli on saatavilla Scala DataFrame API:ssa, joissa on vastaavat vaihtoehdot.
Käytä kirjoitustaso-asetuksia, kun tarvitset operaatiokohtaista ohjausta, sen sijaan että käyttäisit koko istunto- tai taulukkotason oletusasetuksia.
Kaikki Apache Sparkin kirjoituskomennot perivät istuntoasetuksen, jos niitä ei ole eksplisiittisesti ohitettu. Seuraavat esimerkit kirjoittavat V-järjestyksellä perimällä istunnon konfiguraation.
df_source.write\
.format("delta")\
.mode("append")\
.saveAsTable("myschema.mytable")
DeltaTable.createOrReplace(spark)\
.addColumn("id","INT")\
.addColumn("firstName","STRING")\
.addColumn("middleName","STRING")\
.addColumn("lastName","STRING",comment="surname")\
.addColumn("birthDate","TIMESTAMP")\
.location("Files/people")\
.execute()
df_source.write\
.format("delta")\
.mode("overwrite")\
.option("replaceWhere","start_date >= '2025-01-01' AND end_date <= '2025-01-31'")\
.saveAsTable("myschema.mytable")
V-järjestys koskee vain tiedostoja, joita predikaatti koskettaa.
Istunnossa, jossa spark.sql.parquet.vorder.default on asettamaton tai asetettu , falseseuraavat komennot kirjoitetaan V-järjestyksellä:
df_source.write\
.format("delta")\
.mode("overwrite")\
.option("replaceWhere","start_date >= '2025-01-01' AND end_date <= '2025-01-31'")\
.option("parquet.vorder.enabled","true")\
.saveAsTable("myschema.mytable")
DeltaTable.createOrReplace(spark)\
.addColumn("id","INT")\
.addColumn("firstName","STRING")\
.addColumn("middleName","STRING")\
.addColumn("lastName","STRING",comment="surname")\
.addColumn("birthDate","TIMESTAMP")\
.option("parquet.vorder.enabled","true")\
.location("Files/people")\
.execute()