Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Jupyter Notebook je opensourcová webová aplikace, která umožňuje vytvářet a sdílet dokumenty obsahující živý kód, rovnice, vizualizace a text vyprávění. Je užitečné pro celou řadu úloh, jako je čištění a transformace dat, číselná simulace, statistické modelování, vizualizace dat a strojové učení.
Kqlmagic rozšiřuje možnosti jádra Pythonu v Jupyter Notebook, abyste mohli nativně spouštět dotazy dotazovací jazyk Kusto (KQL). Python a KQL můžete kombinovat k dotazování a vizualizaci dat pomocí bohaté knihovny Plot.ly integrované s operátorem vykreslování . Rozšíření Kqlmagic je kompatibilní s Jupyter Lab a rozšířením Jupyter ve Visual Studio Code, a podporované zdroje dat zahrnují Azure Data Explorer, protokoly služby Azure Monitor a Application Insights.
V tomto článku se dozvíte, jak pomocí rozšíření Kqlmagic v poznámkovém bloku připojit se k datům uloženým v Azure Data Exploreru a dotazovat se na je.
Požadavky
- Účet Microsoft nebo identita uživatele Microsoft Entra. Předplatné Azure není povinné.
- Notebook nainstalovaný na místním počítači.
- Python 3.6 Pokud chcete změnit verzi jádra Jupyter Notebook na Python 3.6, vyberte >Python 3.6.
Instalace kqlmagic
Po instalaci a načtení rozšíření kqlmagic můžete do poznámkového bloku psát dotazy KQL. Pokud se jádro zastaví nebo výsledky nebudou očekávané, znovu načtěte rozšíření kqlmagic.
Pokud chcete nainstalovat kqlmagic, spusťte následující příkaz:
!pip install Kqlmagic --no-cache-dir --upgradePokud chcete načíst rozšíření kqlmagic, spusťte následující příkaz:
%reload_ext Kqlmagic
Připojení ke clusteru
Vyberte kartu pro upřednostňovanou metodu pro připojení ke clusteru.
Poznámka:
Pokud je to možné, doporučujeme použít metodu ověřování certifikátem.
Certifikát Microsoft Entra by měl být uložen v souboru přístupném z poznámkového bloku. Na tento soubor lze odkazovat v připojovací řetězec.
%kql AzureDataExplorer://tenant='<tenant-id>';certificate='<certificate>';certificate_thumbprint='<thumbprint>';cluster='<cluster-name>';database='<database-name>'
Návod
- Pokud chcete parametrizovat připojovací řetězec, použijte necitované hodnoty, protože se interpretují jako výrazy Pythonu.
- Pokud chcete zjednodušit proces získávání přihlašovacích údajů, podívejte se na možnosti připojení.
Příklad připojení ke clusteru
Následující příkaz používá metodu kódu Microsoft Entra k ověření v Samples databázi hostované v clusteru help . Pro uživatele, kteří nejsou microsoft Entra, nahraďte název Microsoft.com tenanta vaším tenantem Microsoft Entra.
%kql AzureDataExplorer://tenant="Microsoft.com";code;cluster='help';database='Samples'
Možnosti připojení
Pokud chcete zjednodušit proces získávání přihlašovacích údajů, můžete za připojovací řetězec přidat jeden z následujících příznaků možností.
| Možnost | Popis | Příklad syntaxe |
|---|---|---|
| try_azcli_login | Pokus o získání přihlašovacích údajů pro ověřování z Azure CLI Očekává, že jste přihlášení pomocí Azure CLI. Podívejte se na příklad připojení pomocí Azure CLI. | -try_azcli_login |
| try_azcli_login_subscription | Pokus o získání přihlašovacích údajů pro ověřování z Azure CLI na základě zadaného předplatného. | -try_azcli_login_subscription=<subscription_id> |
| try_vscode_login | Pokus o získání přihlašovacích údajů pro ověřování z přihlášení k účtu Azure v editoru Visual Studio Code | -try_vscode_login |
| try_msi | Pokus o získání přihlašovacích údajů pro ověření z místního koncového bodu MSI Očekává slovník s volitelnými parametry MSI: resource,client_id/object_id/mis_res_idcloud_environment , , . timeout |
-try_msi={"client_id":<id>} |
| try_token | Ověřte se pomocí zadaného tokenu. Očekává slovník s vlastnostmi tokenu Azure AD v1 nebo v2. | -try_token={"tokenType":"bearer","accessToken":"<token>"} |
Příklad připojení pomocí Azure CLI
Za připojovací řetězec lze přidat některou z možností popsaných v předchozí tabulce. Následující příklad používá jako metodu ověřování možnost přihlášení k Azure CLI:
%kql azureDataExplorer://code;cluster='help';database='Samples' -try_azcli_login
Poznámka:
Tato možnost předpokládá, že jste přihlášení k Azure pomocí Azure CLI. Pokud nejste přihlášení, automaticky otevírané okno vás vyzve, abyste se přihlásili k Azure.
Zobrazení informací o připojení
Pokud chcete zobrazit všechna existující připojení, spusťte následující příkaz:
%kql --conn
Pokud chcete zkontrolovat podrobnosti o konkrétním připojení, spusťte následující příkaz:
%kql --conn <database-name>@<cluster-name>
Dotazování a vizualizace
Dotazování dat pomocí operátoru vykreslování a vizualizace dat pomocí knihovny ploy.ly Tento dotaz a vizualizace poskytuje integrované prostředí, které používá nativní jazyk KQL.
Kqlmagic podporuje většinu grafů kromě timepivot, pivotcharta ladderchart. Vykreslení je podporováno se všemi atributy kromě kind, ysplita accumulate.
Dotazování a vykreslení výsečového grafu
%%kql
StormEvents
| summarize statecount=count() by State
| sort by statecount
| take 10
| render piechart title="My Pie Chart by State"
Dotazování a vykreslení časového diagramu
%%kql
StormEvents
| summarize count() by bin(StartTime,7d)
| render timechart
Poznámka:
Tyto grafy jsou interaktivní. Vyberte časový rozsah, který chcete přiblížit k určitému času.
Přizpůsobení barev grafu
Pokud se vám výchozí paleta barev nelíbí, přizpůsobte grafy pomocí možností palety. Dostupné palety najdete tady: Zvolte paletu barev pro výsledek grafu dotazu kqlmagic.
Seznam palet:
%kql --palettes -popup_windowVyberte barevnou paletu
coola znovu vykreslíte dotaz:%%kql -palette_name "cool" StormEvents | summarize statecount=count() by State | sort by statecount | take 10 | render piechart title="My Pie Chart by State"
Parametrizace dotazu pomocí Pythonu
Kqlmagic umožňuje jednoduchou výměnu mezi dotazovací jazyk Kusto a Pythonem. Další informace: Parametrizace dotazu kqlmagic pomocí Pythonu
Použití proměnné Pythonu v dotazu KQL
K filtrování dat můžete použít hodnotu proměnné Pythonu v dotazu:
statefilter = ["TEXAS", "KANSAS"]
%%kql
let _state = statefilter;
StormEvents
| where State in (_state)
| summarize statecount=count() by bin(StartTime,1d), State
| render timechart title = "Trend"
Převod výsledků dotazu na datový rámec Pandas
K výsledkům dotazu KQL se dostanete v datovém rámci Pandas. Získejte přístup k posledním spuštěným výsledkům dotazu podle proměnné _kql_raw_result_ a výsledky můžete snadno převést na datový rámec Pandas následujícím způsobem:
df = _kql_raw_result_.to_dataframe()
df.head(10)
Příklad
V mnoha analytických scénářích můžete chtít vytvořit opakovaně použitelné poznámkové bloky, které obsahují mnoho dotazů, a výsledky z jednoho dotazu do následných dotazů. Následující příklad používá proměnnou statefilter Pythonu k filtrování dat.
Spuštěním dotazu zobrazte prvních 10 stavů s maximálním
DamagePropertypočtem:%%kql StormEvents | summarize max(DamageProperty) by State | order by max_DamageProperty desc | take 10Spuštěním dotazu extrahujte nejvyšší stav a nastavte ho do proměnné Pythonu:
df = _kql_raw_result_.to_dataframe() statefilter =df.loc[0].State statefilterSpusťte dotaz pomocí
letpříkazu a proměnné Pythonu:%%kql let _state = statefilter; StormEvents | where State in (_state) | summarize statecount=count() by bin(StartTime,1d), State | render timechart title = "Trend"Spusťte příkaz nápovědy:
%kql --help "help"
Návod
- Chcete-li získat informace o všech dostupných konfiguracích, použijte
%config Kqlmagic. - Při řešení a zachycení chyb Kusto, jako jsou problémy s připojením a nesprávné dotazy, použijte
%config Kqlmagic.short_errors=False
Ukázkové poznámkové bloky
- Začínáme s kqlmagic pro Azure Data Explorer
- Začínáme s kqlmagic pro Application Insights
- Začínáme s kqlmagic pro protokoly služby Azure Monitor
- Parametrizace dotazu kqlmagic pomocí Pythonu
- Volba palety barev pro výsledek grafu dotazu kqlmagic