Megosztás a következőn keresztül:


Apache Spark Advisor az Azure Synapse Analyticsben (előzetes verzió)

Az Apache Spark advisor elemzi a Spark által futtatott parancsokat és kódot, és valós idejű tanácsokat jelenít meg a notebookfuttatásokhoz. A Spark Advisor beépített mintái segítenek a felhasználóknak elkerülni a gyakori hibákat, javaslatokat kínálnak a kódoptimalizáláshoz, hibaelemzést végeznek, és megkeresik a hibák kiváltó okát.

Beépített tanácsok

Inkonzisztens eredményeket adhat vissza a "randomSplit" használatakor

Inkonzisztens vagy pontatlan eredmények jelenhetnek meg a randomSplit metódus eredményeinek használatakor. A randomSplit metódus használata előtt használja az Apache Spark (RDD) gyorsítótárazását.

A randomSplit() metódus egyenértékű azzal, hogy többször is végrehajtja a sample() metódust az adatkereten, és minden minta újrabetöltésével, particionálásával és az adatkeret partíciókon belüli rendezésével. A partíciók közötti adateloszlás és a rendezési sorrend mind a randomSplit(), mind a sample() esetében fontos. Ha az adatok újrabetöltésekor megváltozik, előfordulhat, hogy ismétlődések következnek be, vagy ha a felosztások között hiányoznak értékek, és ugyanaz a minta ugyanazt a magot használja, az eltérő eredményeket eredményezhet.

Előfordulhat, hogy ezek az inkonzisztenciák nem minden futtatás során fordulnak elő, de teljes kizárásuk érdekében gyorsítótárazza az adatkeretet, újraparticionálja az oszlopo(ka)t, vagy olyan összesítő függvényeket alkalmazzon, mint a groupBy.

A tábla/nézet neve már használatban van

Már létezik olyan nézet, amelynek a neve megegyezik a létrehozott táblával, vagy már létezik olyan tábla, amelynek a neve megegyezik a létrehozott nézet nevével. Ha ezt a nevet használják a lekérdezésekben vagy alkalmazásokban, a rendszer csak a nézetet adja vissza, függetlenül attól, hogy melyiket hozta létre először. Az ütközések elkerülése érdekében nevezze át a táblát vagy a nézetet.

Nem sikerült felismerni a tippet

A kijelölt lekérdezés olyan tippet tartalmaz, amely nem ismerhető fel. Ellenőrizze, hogy a tipp helyesen van-e beírva.

spark.sql("SELECT /*+ unknownHint */ * FROM t1")

Nem található megadott kapcsolatnév(ek)

Nem található a tippben megadott kapcsolat(ok). Ellenőrizze, hogy a kapcsolat(ok) helyesen vannak-e megírva és elérhetők-e a tipp hatókörén belül.

spark.sql("SELECT /*+ BROADCAST(unknownTable) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")

A lekérdezés egy tippje megakadályozza egy másik tipp alkalmazását

A kijelölt lekérdezés tartalmaz egy tippet, amely megakadályozza egy másik tipp alkalmazását.

spark.sql("SELECT /*+ BROADCAST(t1), MERGE(t1, t2) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")

A "spark.advise.divisionExprConvertRule.enable" engedélyezése a kerekítési hibák propagálásának csökkentése érdekében

Ez a lekérdezés a Dupla típusú kifejezést tartalmazza. Javasoljuk, hogy engedélyezze a "spark.advise.divisionExprConvertRule.enable" konfigurációt, amely segíthet csökkenteni az osztási kifejezéseket, és csökkenteni a kerekítési hibák propagálását.

"t.a/t.b/t.c" convert into "t.a/(t.b * t.c)"

Engedélyezze a "spark.advise.nonEqJoinConvertRule.enable" beállítást a lekérdezési teljesítmény javítása érdekében

Ez a lekérdezés az "Or" feltétel miatt időigényes illesztést tartalmaz a lekérdezésben. Javasoljuk, hogy engedélyezze a "spark.advise.nonEqJoinConvertRule.enable" konfigurációt, amely segíthet az "Or" feltétel által aktivált illesztés SMJ-vé vagy BHJ-vé konvertálásában a lekérdezés felgyorsításához.

Delta-tábla optimalizálása kis méretű fájlok tömörítésével

Ez a lekérdezés egy delta táblán található, sok kis fájllal. A lekérdezések teljesítményének javításához futtassa az OPTIMIZE parancsot a delta táblán. További részleteket ebben a cikkben talál.

Delta-tábla optimalizálása a ZOrderrel

Ez a lekérdezés egy Delta-táblán található, és erősen szelektív szűrőt tartalmaz. A lekérdezések teljesítményének javításához futtassa az OPTIMIZE ZORDER BY parancsot a delta táblán. További részleteket ebben a cikkben talál.

Felhasználó felület

Az Apache Spark-tanácsadó valós időben jeleníti meg a jegyzetfüzetcellák kimenetében megjelenő tanácsokat, köztük az információkat, a figyelmeztetéseket és a hibákat.

  • Információ

    Képernyőkép a tanácsokkal kapcsolatos információkról.

  • Figyelmeztetés

    Képernyőkép a tanácsokra vonatkozó figyelmeztetésről.

  • Hibák

    Képernyőkép a tanácsokkal kapcsolatos hibáról.

Következő lépések

Az Apache Spark-alkalmazások monitorozásáról további információt az Apache Spark-alkalmazások monitorozása Synapse Studio című cikkben talál.

További információ a jegyzetfüzetek létrehozásáról: Synapse-jegyzetfüzetek használata