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


A Kusto Query Language inline Python hibakeresése a Visual Studio Code használatával

Szolgáltatások váltása a Verzió legördülő listával. További információ a navigációról.
A következőre vonatkozik: ✅ Microsoft Fabric ✅ Azure Data Explorer

A Python-kódot a Python () beépülő modullal ágyazhatja be a Kusto Query Language lekérdezéseibe. A beépülő modul futtatókörnyezete egy tesztkörnyezetben, egy izolált és biztonságos Python-környezetben üzemel. A Python() beépülő modul képes kibővíteni a Kusto Query Language natív funkcióit az OSS Python-csomagok hatalmas archívumával. Ez a bővítmény lehetővé teszi fejlett algoritmusok, például gépi tanulás, mesterséges intelligencia, statisztikai és idősorok futtatását a lekérdezés részeként.

A Kusto Query Language-eszközök nem kényelmesek Python-algoritmusok fejlesztéséhez és hibakereséséhez. Ezért fejlessze ki az algoritmust kedvenc Python-integrált fejlesztői környezetében, például a Jupyterben, a PyCharmban, a Visual Studióban vagy a Visual Studio Code-on. Ha az algoritmus elkészült, másolja és illessze be a KQL-be. A munkafolyamat javítása és egyszerűsítése érdekében a Kusto Explorer vagy a webes felhasználói felület ügyfelei integrálhatók a Visual Studio Code-tal a KQL beágyazott Python-kódjának létrehozásához és hibakereséséhez.

Megjegyzés:

Ez a munkafolyamat csak viszonylag kis bemeneti táblák (legfeljebb néhány MB) hibakeresésére használható. Ezért előfordulhat, hogy a hibakereséshez korlátoznia kell a bemenetet. Ha nagy méretű táblát kell feldolgoznia, korlátozza azt hibakeresés céljából a | take, | sample vagy where rand() < 0.x használatával.

Előfeltételek

Python-hibakeresés engedélyezése a Visual Studio Code-ban

  1. Az ügyfélalkalmazásban prefixáljon egy beágyazott Pythont tartalmazó lekérdezést a következővel: set query_python_debug;

  2. Futtassa a lekérdezést.

    • Kusto Explorer: A Visual Studio Code automatikusan elindul a debug_python.py szkripttel.
    • Kusto Webes felhasználói felület:
      1. Töltse le és mentse debug_python.py, df.txtés kargs.txt. Az ablakban válassza az Engedélyezés lehetőséget. Fájlok mentése a kijelölt könyvtárba.
      2. Kattintson a jobb gombbal a debug_python.py , és nyissa meg a Visual Studio Code-ot. A debug_python.py szkript tartalmazza a KQL-lekérdezés soros Python-kódját, amelyet a sablonkód előtaggal lát el, azaz a df.txt-ből származó bemeneti adatkeret és a kargs.txt-ből származó paraméterek szótárának inicializálására.
  3. A Visual Studio Code-ban indítsa el a Visual Studio Code hibakeresőt: Futtassaa Hibakeresés indítása >(F5) elemet, és válassza a Python-konfigurációt. A hibakereső elindul, és automatikusan beállít egy töréspontot a beágyazott kód hibakereséséhez.

  1. Az ügyfélalkalmazásban prefixáljon egy beágyazott Pythont tartalmazó lekérdezést a következővel: set query_python_debug;

  2. Futtassa a lekérdezést.

    • Kusto Explorer: A Visual Studio Code automatikusan elindul a debug_python.py szkripttel.
    • KQL-lekérdezéskészlet:
      1. Töltse le és mentse debug_python.py, df.txtés kargs.txt. Az ablakban válassza az Engedélyezés lehetőséget. Fájlok mentése a kijelölt könyvtárba.
      2. Kattintson a jobb gombbal a debug_python.py , és nyissa meg a Visual Studio Code-ot. A debug_python.py szkript tartalmazza a KQL-lekérdezés soros Python-kódját, amelyet a sablonkód előtaggal lát el, azaz a df.txt-ből származó bemeneti adatkeret és a kargs.txt-ből származó paraméterek szótárának inicializálására.
  3. A Visual Studio Code-ban indítsa el a Visual Studio Code hibakeresőt: Futtassaa Hibakeresés indítása >(F5) elemet, és válassza a Python-konfigurációt. A hibakereső elindul, és automatikusan beállít egy töréspontot a beágyazott kód hibakereséséhez.

Hogyan működik a beágyazott Python-hibakeresés a Visual Studio Code-ban?

  1. A rendszer elemzi és végrehajtja a lekérdezést a kiszolgálón, amíg el nem éri a szükséges | evaluate python() záradékot.
  2. A Rendszer meghívja a Python tesztkörnyezetet, de a kód futtatása helyett szerializálja a bemeneti táblát, a paraméterek szótárát és a kódot, és visszaküldi őket az ügyfélnek.
  3. Ez a három objektum három fájlba kerül: df.txt, kargs.txtés debug_python.py a kijelölt könyvtárba (webes felhasználói felület), vagy az ügyfél %TEMP% könyvtárába (Kusto Explorer).
  4. A Visual Studio Code elindul, amelybe előre be van töltve a debug_python.py fájl, amely egy előtagkódot tartalmaz a df és kargs inicializálásához a saját fájljaikból, majd egy, a KQL-lekérdezésbe beágyazott Python-szkript.

Példa lekérdezésre

  1. Futtassa a következő KQL-lekérdezést az ügyfélalkalmazásban:

    range x from 1 to 4 step 1
    | evaluate python(typeof(*, x4:int), 
    'exp = kargs["exp"]\n'
    'result = df\n'
    'result["x4"] = df["x"].pow(exp)\n'
    , bag_pack('exp', 4))
    

    Tekintse meg az eredményként kapott táblát:

    x x4
    1 1
    2 16
    3 81
    4 256
  2. Az ügyfélalkalmazásban futtassa ugyanazt a KQL-lekérdezést, használva set query_python_debug;.

    set query_python_debug;
    range x from 1 to 4 step 1
    | evaluate python(typeof(*, x4:int), 
    'exp = kargs["exp"]\n'
    'result = df\n'
    'result["x4"] = df["x"].pow(exp)\n'
    , bag_pack('exp', 4))
    
  3. Elindult a Visual Studio Code alkalmazás:

    indítsa el a Visual Studio Code-ot.

  4. A Visual Studio Code hibakeresést és "eredmény" adatkeretet nyomtat a hibakeresési konzolon:

    VS Code hibakeresése.

Megjegyzés:

A Python-tesztkörnyezet lemezképe és a helyi telepítés között eltérések lehetnek. A beépülő modul lekérdezésével ellenőrizze a tesztkörnyezet rendszerképét, hogy adott csomagokat keres-e.

Megjegyzés:

Ha a Visual Studio Code hibakeresési munkamenetének indításakor hibák merülnek fel, próbálja meg parancssorba állítani az alapértelmezett terminálprofilt:

  • A parancskatalógus megnyitásához nyomja le a CTRL+SHIFT+P billentyűkombinációt.
  • Keressen rá a "Terminál: Alapértelmezett profil kiválasztása" kifejezésre, és válassza a "Parancssor" lehetőséget