Jupyter Notebook és kqlmagic bővítménnyel elemezheti az adatokat az Azure Data Explorer
Jupyter Notebook egy nyílt forráskódú webalkalmazás, amellyel élő kódot, egyenleteket, vizualizációkat és elbeszélési szöveget tartalmazó dokumentumokat hozhat létre és oszthat meg. Számos feladathoz hasznos, például adattisztításhoz és átalakításhoz, numerikus szimulációhoz, statisztikai modellezéshez, adatvizualizációhoz és gépi tanuláshoz.
A Kqlmagic kibővíti a Python-kernel képességeit Jupyter Notebook, így natív módon futtathat Kusto lekérdezésnyelv (KQL) lekérdezéseket. A Pythont és a KQL-t kombinálva adatokat kérdezhet le és jeleníthet meg a renderelő operátorral integrált gazdag Plot.ly kódtár használatával. A kqlmagic bővítmény kompatibilis a Jupyter Lab, a Visual Studio Code Jupyter-bővítmény és az Azure Data Studio alkalmazással, és a támogatott adatforrások közé tartozik az Azure Data Explorer, az Azure Monitor-naplók és az Application Insights.
Ebből a cikkből megtudhatja, hogyan használhatja a kqlmagicot egy Jupyter Notebook az Azure Data Explorer tárolt adatokhoz való csatlakozáshoz és lekérdezéshez.
Előfeltételek
- Microsoft-fiók vagy Microsoft Entra felhasználói identitás. Nincs szükség Azure-előfizetésre.
- Jupyter Notebook telepítve van a helyi gépen. Ellenkező esetben használja az Azure Data Studiót.
- Python 3.6. Ha a Jupyter Notebook kernelverziót Python 3.6-ra szeretné módosítani, válassza a Kernel>módosítása Python>3.6 lehetőséget.
A kqlmagic telepítése
A kqlmagic bővítmény telepítése és betöltése után KQL-lekérdezéseket írhat a jegyzetfüzetbe. Ha a kernel leáll, vagy az eredmények nem a várt módon jelennek meg, töltse be újra a kqlmagic bővítményt.
A kqlmagic telepítéséhez futtassa a következő parancsot:
!pip install Kqlmagic --no-cache-dir --upgrade
A kqlmagic bővítmény betöltéséhez futtassa a következő parancsot:
%reload_ext Kqlmagic
Csatlakozás fürthöz
Válassza ki az előnyben részesített metódus lapját a fürthöz való csatlakozáshoz.
A Microsoft Entra kódmetódus MSAL interaktív bejelentkezést kér. A hitelesítéshez meg kell adnia egy kódot.
%kql AzureDataExplorer://code;cluster='<cluster-name>';database='<database-name>'
Tipp
- A kapcsolati karakterlánc paraméterezéséhez használjon nemquoted értékeket, mivel azok Python-kifejezésekként vannak értelmezve.
- A hitelesítő adatok lekérésének folyamatát a Kapcsolat beállításai című témakörben tekintheti meg.
Példa fürtkapcsolatra
A következő parancs a Microsoft Entra kódmetódus használatával hitelesíti a Samples
fürtön üzemeltetett adatbázisthelp
. Nem Microsoft Entra felhasználók esetén cserélje le a bérlő nevét Microsoft.com
a Microsoft Entra bérlőre.
%kql AzureDataExplorer://tenant="Microsoft.com";code;cluster='help';database='Samples'
Kapcsolati beállítások
A hitelesítő adatok lekérésének egyszerűsítése érdekében a kapcsolati karakterlánc után az alábbi beállításjelölők egyikét veheti fel.
Beállítás | Leírás | Példaszintaxis |
---|---|---|
try_azcli_login | Próbálja meg lekérni a hitelesítési hitelesítő adatokat az Azure CLI-ből. | -try_azcli_login |
try_azcli_login_subscription | Próbálja meg lekérni a hitelesítési hitelesítő adatokat az Azure CLI-ből a megadott előfizetés alapján. | -try_azcli_login_subscription=<subscription_id> |
try_vscode_login | Próbálja meg lekérni a hitelesítési hitelesítő adatokat a Visual Studio Code Azure-fiók bejelentkezéséből. | -try_vscode_login |
try_msi | Próbálja meg lekérni a hitelesítési hitelesítő adatokat az MSI helyi végpontjáról. A következő opcionális MSI-paraméterekkel rendelkező szótárat vár: resource , client_id /object_id mis_res_id /, , . timeout cloud_environment |
-try_msi={"client_id":<id>} |
try_token | Hitelesítés egy megadott jogkivonattal. Olyan szótárat vár, amely Azure AD v1 vagy v2 tokentulajdonságokkal rendelkezik. | -try_token={"tokenType":"bearer","accessToken":"<token>"} |
Példa kapcsolati beállításra
Az előző táblázatban leírt lehetőségek bármelyike hozzáadható egy kapcsolati karakterlánc után. Az alábbi példa az Azure CLI bejelentkezési lehetőségét használja:
%kql azureDataExplorer://code;cluster='help';database='Samples' -try_azcli_login
Kapcsolati adatok megjelenítése
Az összes meglévő kapcsolat megtekintéséhez futtassa a következő parancsot:
%kql --conn
Egy adott kapcsolat részleteinek ellenőrzéséhez futtassa a következő parancsot:
%kql --conn <database-name>@<cluster-name>
Lekérdezés és vizualizáció
Adatokat kérdezhet le a renderelési operátor használatával, és megjelenítheti az adatokat a ploy.ly kódtár használatával. Ez a lekérdezés és vizualizáció olyan integrált felületet biztosít, amely natív KQL-t használ. A Kqlmagic a legtöbb diagramot támogatja, kivéve timepivot
a , pivotchart
és ladderchart
a diagramokat. A renderelés az összes attribútummal támogatott, kivéve kind
a , ysplit
és accumulate
a .
Piechart lekérdezése és renderelése
%%kql
StormEvents
| summarize statecount=count() by State
| sort by statecount
| take10
| render piechart title="My Pie Chart by State"
Lekérdezési és megjelenítési idődiagram
%%kql
StormEvents
| summarize count() by bin(StartTime,7d)
| render timechart
Megjegyzés
Ezek a diagramok interaktívak. Válasszon ki egy időtartományt egy adott időpont nagyításához.
A diagramszínek testreszabása
Ha nem tetszik az alapértelmezett színpaletta, szabja testre a diagramokat palettabeállítások használatával. A rendelkezésre álló paletta itt található: Válassza ki a kqlmagic lekérdezési diagram eredményének színpalettáját
Palettalista esetén:
%kql --palettes -popup_window
Válassza ki a
cool
színpalettát, és renderelje újra a lekérdezést:%%kql -palette_name "cool" StormEvents | summarize statecount=count() by State | sort by statecount | take10 | render piechart title="My Pie Chart by State"
Lekérdezés paraméterezése Pythonnal
A Kqlmagic lehetővé teszi a Kusto lekérdezésnyelv és a Python közötti egyszerű váltást. További információ: Kqlmagic-lekérdezés paraméterezése Pythonnal
Python-változó használata a KQL-lekérdezésben
A lekérdezésben egy Python-változó értékével szűrheti az adatokat:
statefilter = ["TEXAS", "KANSAS"]
%%kql
let _state = statefilter;
StormEvents
| where State in (_state)
| summarize statecount=count() by bin(StartTime,1d), State
| render timechart title = "Trend"
Lekérdezési eredmények konvertálása Pandas DataFrame-be
A KQL-lekérdezések eredményeit a Pandas DataFrame-ben érheti el. Az utolsó végrehajtott lekérdezési eredményeket változó _kql_raw_result_
alapján érheti el, és egyszerűen konvertálhatja az eredményeket Pandas DataFrame-mé az alábbiak szerint:
df = _kql_raw_result_.to_dataframe()
df.head(10)
Példa
Számos elemzési forgatókönyv esetén érdemes lehet olyan újrafelhasználható jegyzetfüzeteket létrehozni, amelyek sok lekérdezést tartalmaznak, és egy lekérdezés eredményeit a későbbi lekérdezésekbe adhatja. Az alábbi példa a Python-változót statefilter
használja az adatok szűréséhez.
Futtasson egy lekérdezést az első 10 állapot megtekintéséhez a maximális értékekkel
DamageProperty
:%%kql StormEvents | summarize max(DamageProperty) by State | order by max_DamageProperty desc | take10
Futtasson egy lekérdezést a legfelső állapot kinyeréséhez, és állítsa be egy Python-változóba:
df = _kql_raw_result_.to_dataframe() statefilter =df.loc[0].State statefilter
Futtasson egy lekérdezést az
let
utasítással és a Python-változóval:%%kql let _state = statefilter; StormEvents | where State in (_state) | summarize statecount=count() by bin(StartTime,1d), State | render timechart title = "Trend"
Futtassa a súgóparancsot:
%kql --help "help"
Tipp
Az összes elérhető konfigurációval kapcsolatos információk fogadásához használja a következőt %config Kqlmagic
: . A Kusto-hibák, például a csatlakozási problémák és a helytelen lekérdezések elhárításához és rögzítéséhez használja a %config Kqlmagic.short_errors=False
Mintanotebookok
- Az Azure-Data Explorer kqlmagic használatának első lépései
- Ismerkedés a kqlmagic for Application Insights szolgáltatással
- Az Azure Monitor-naplókhoz készült kqlmagic használatának első lépései
- A kqlmagic lekérdezés parametriása a Pythonnal
- Színpaletta kiválasztása a kqlmagic lekérdezési diagram eredményéhez