Azure Data Explorer (Kusto)
Súhrn
Položka | Description |
---|---|
Stav vydania | Všeobecná dostupnosť |
Produkty | Excel Power BI (sémantické modely) Power BI (toky údajov) Fabric (Tok údajov Gen2) Power Apps (toky údajov) Dynamics 365 Customer Insights |
Podporované typy overovania | Konto organizácie |
Referenčná dokumentácia k funkcii | — |
Poznámka
Niektoré možnosti môžu byť k dispozícii v jednom produkte, ale nie iné z dôvodu plánov nasadenia a funkcií špecifických pre hostiteľa.
Požiadavky
Predplatné služby Azure. Prejdite na možnosť Získať bezplatnú skúšobnú verziu služby Azure.
E-mailové konto organizácie, ktoré je členom ID spoločnosti Microsoft Entra. Tento článok používa toto konto na pripojenie k zdrojom vzoriek pomocníka pre prieskumníka Azure Data Explorer.
Podporované možnosti
- Importovať
- DirectQuery (sémantické modely služby Power BI)
- Rozšírené možnosti
- Obmedzenie počtu záznamov výsledkov dotazu
- Obmedzenie veľkosti údajov výsledkov dotazu v bajtoch
- Zakázanie skrátenia množiny výsledkov
- Ďalšie príkazy množiny
Pripojenie do prieskumníka Údajov Azure z aplikácie Power Query Desktop
Pripojenie k prieskumníkovi Azure Data Explorer z aplikácie Power Query Desktop:
V prostredí na získavanie údajov vyberte položku Azure Data Explorer (Kusto ). Možnosti získania údajov v aplikácii Power Query Desktop sa líšia medzi aplikáciami. Ďalšie informácie o tom, ako Power Query Desktop získať údaje pre aplikáciu, nájdete v téme Kde sa nachádzajú údaje.
V prieskumníkovi Azure Data Explorer (Kusto) zadajte názov svojho klastra prieskumníka Azure Data Explorer. V tomto príklade použijeme
https://help.kusto.windows.net
na prístup ku klastru Pomocníka ukážky. V prípade iných klastrov sa URL adresa nachádza vo formulári https://< ClusterName.<>Region.kusto.windows.net>.Môžete tiež vybrať databázu hosťovanú v klastri, ku ktorému sa pripájate, jednu z tabuliek v databáze alebo dotaz typu
StormEvents | take 1000
.Ak chcete použiť akékoľvek možnosti zálohy, vyberte túto možnosť a zadajte údaje, ktoré chcete s danou možnosťou použiť. Ďalšie informácie: Pripojenie používanie rozšírených možností
Poznámka
Možno sa budete musieť posunúť nadol, aby sa zobrazili všetky rozšírené možnosti a výber pripojenia údajov.
Vyberte režim pripojenia údajov Import alebo DirectQuery (len aplikácia Power BI Desktop). Ďalšie informácie: Kedy použiť režim importu alebo directquery
Pokračujte výberom možnosti OK .
Ak ešte nemáte pripojenie k klastru, vyberte položku Prihlásiť sa. Prihláste sa pomocou konta organizácie a vyberte položku Pripojenie.
V navigátore vyberte požadované informácie o databáze a potom buď vyberte položku Načítať, aby ste načítali údaje, alebo položku Transformovať údaje a pokračujte v transformácii údajov v editore Power Query. V tomto príklade bola vybratá možnosť StormEvents v databáze Samples.
Pripojenie do prieskumníka Azure Data Explorer zo služby Power Query Online
Pripojenie k prieskumníkovi Azure Data Explorer z Power Query Online:
V prostredí na získanie údajov vyberte možnosť Azure Data Explorer (Kusto ). Rôzne aplikácie majú rôzne spôsoby, ako získať údaje pomocou doplnku Power Query Online. Ďalšie informácie o tom, ako získať údaje z aplikácie do služby Power Query Online, nájdete v téme Kde získať údaje.
V Pripojenie k zdroju údajov zadajte názov klastra prieskumníka Azure Data Explorer. V tomto príklade použijeme
https://help.kusto.windows.net
na prístup ku klastru Pomocníka ukážky. V prípade iných klastrov sa URL adresa nachádza vo formulári https://< ClusterName.<>Region.kusto.windows.net>.Môžete tiež vybrať databázu hosťovanú v klastri, ku ktorému sa pripájate, jednu z tabuliek v databáze alebo dotaz typu
StormEvents | take 1000
.Ak chcete použiť akékoľvek možnosti zálohy, vyberte túto možnosť a zadajte údaje, ktoré chcete s danou možnosťou použiť. Ďalšie informácie: Pripojenie používanie rozšírených možností
Ak je to potrebné, vyberte lokálnu bránu údajov v bráne údajov.
Ak ešte nemáte pripojenie k klastru, vyberte položku Prihlásiť sa. Prihláste sa pomocou konta organizácie.
Po úspešnom prihlásení vyberte položku Ďalej.
Na stránke Vybrať údaje vyberte požadované informácie o databáze a potom buď vyberte položku Transformovať údaje alebo Ďalej a pokračujte v transformácii údajov v editore Power Query. V tomto príklade bola vybratá možnosť StormEvents v databáze Samples.
Pripojenie používanie rozšírených možností
Power Query Desktop aj Power Query Online poskytujú množinu rozšírených možností, ktoré môžete v prípade potreby pridať do dotazu.
V nasledujúcej tabuľke sú uvedené všetky rozšírené možnosti, ktoré môžete nastaviť v aplikácii Power Query Desktop a doplnku Power Query Online.
Rozšírená možnosť | Description |
---|---|
Obmedzenie počtu záznamov výsledkov dotazu | Maximálny počet záznamov, ktoré sa majú vrátiť vo výsledku. |
Obmedzenie veľkosti údajov výsledkov dotazu v bajtoch | Maximálna veľkosť údajov v bajtoch, ktorá sa má vrátiť vo výsledku. |
Zakázanie skrátenia množiny výsledkov | Zapnutie alebo zakázanie skrátenia výsledkov pomocou notruncation možnosti požiadavky. |
Ďalšie príkazy množiny | Nastaví možnosti dotazu počas trvania dotazu. Možnosti dotazu riadia, ako sa dotaz spustí a vráti výsledky. Príkazy s viacerými množinami môžu byť oddelené bodkočiarkami. |
Informácie o ďalších rozšírených možnostiach, ktoré nie sú k dispozícii v používateľskom rozhraní doplnku Power Query, nájdete v téme Konfigurácia možností konektora služby Azure Data Explorer v dotaze jazyka M.
Kedy použiť režim Import alebo DirectQuery
V režime importu sa údaje presunú do služby Power BI. V režime DirectQuery sa údaje dotazujú priamo z vášho klastra.
Režim importu použite, keď:
- Množina údajov je malá.
- Nepotrebujete údaje takmer v reálnom čase.
- Vaše údaje sú už agregované alebo agregáciu vykonávate v kuste.
Režim DirectQuery použite v prípadoch, keď:
- Množina údajov je veľmi veľká.
- Potrebujete údaje takmer v reálnom čase.
Ďalšie informácie o používaní režimu DirectQuery nájdete v téme Informácie o používaní režimu DirectQuery v službe Power BI.
Tipy na dotazovanie údajov pomocou konektora Azure Data Explorer
V nasledujúcich častiach nájdete tipy a triky na používanie jazyka dotazov Kusto v doplnku Power Query.
Komplexné dotazy v službe Power BI
Zložité dotazy sú oveľa jednoduchšie vyjadrené v kusto ako v Power Query. Mali by sa implementovať ako funkcie Kusto a vyvolať v Power BI. Táto metóda sa vyžaduje pri použití režimu DirectQuery s príkazmi let
v dotaze Kusto. Keďže Power BI spojí dva dotazy a let
príkazy nie je možné použiť s operátorom join
, môžu sa vyskytnúť syntaktické chyby. Uložte si preto každú časť spojenia ako funkciu Kusto a umožnite službe Power BI spojiť tieto dve funkcie.
Simulácia operátora relatívneho dátumu a času
Power Query neobsahuje relatívny operátor dátumu a času, ako ago()
je napríklad .
Ak chcete simulovať ago()
, použite kombináciu funkcií DateTime.FixedLocalNow a #duration jazyka Power Query M.
Namiesto tohto dotazu pomocou operátora ago()
:
StormEvents | where StartTime > (now()-5d)
StormEvents | where StartTime > ago(5d)
Použite nasledujúci ekvivalentný dotaz:
let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", []),
#"Filtered Rows" = Table.SelectRows(Source, each [StartTime] > (DateTime.FixedLocalNow()-#duration(5,0,0,0)))
in
#"Filtered Rows"
Konfigurácia možností konektora Azure Data Explorer v dotaze jazyka M
Možnosti konektora Azure Data Explorer môžete nakonfigurovať v rozšírenom editore Power Query v jazyku dotazov jazyka M. Pomocou týchto možností môžete riadiť vygenerovaný dotaz, ktorý sa odosiela do klastra prieskumníka Azure Data Explorer.
let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", [<options>])
in
Source
V dotaze jazyka M môžete použiť ktorúkoľvek z nasledujúcich možností:
Možnosť | a marketingu | Description |
---|---|---|
Maximálny počet riadkov | [MaxRows=300000] |
Pridá príkaz množiny truncationmaxrecords do dotazu. Prepíše predvolený maximálny počet záznamov, ktoré môže dotaz vrátiť volajúceho (skrátenie). |
Maximálna veľkosť | [MaxSize=4194304] |
Pridá príkaz množiny truncationmaxsize do dotazu. Prepíše predvolenú maximálnu veľkosť údajov, že dotaz sa môže vrátiť k volajúceho (skrátenie). |
NoTruncate (Bezvýstup) | [NoTruncate=true] |
Pridá príkaz množiny notruncation do dotazu. Umožňuje potlačiť skrátenie výsledkov dotazu vrátených volajúcemu. |
ĎalšieštátyMnožiny | [AdditionalSetStatements="set query_datascope=hotcache"] |
Pridá poskytnuté príkazy množiny do dotazu. Tieto príkazy sa používajú na nastavenie možností dotazu počas trvania dotazu. Možnosti dotazu riadia, ako sa dotaz spustí a vráti výsledky. |
CaseInsensitive (Insensitive) | [CaseInsensitive=true] |
Umožňuje, aby konektor generoval dotazy, ktoré nerozlišujú malé a veľké písmená – dotazy pri porovnávaní hodnôt používajú =~ operátor namiesto == operátora. |
ForceUseContains | [ForceUseContains=true] |
Umožňuje konektoru generovať dotazy, ktoré používajú contains namiesto predvoleného has nastavenia pri práci s textovými poľami. Hoci has je výkonnejší, nepracuje podreťazce. Ďalšie informácie o rozdiele medzi týmito dvomi operátormi nájdete v téme Operátory reťazcov. |
Voľno | [Timeout=#duration(0,10,0,0)] |
Nakonfiguruje časový limit klienta aj servera na poskytnuté trvanie. |
ClientRequestIdPrefix | [ClientRequestIdPrefix="MyReport"] |
Nakonfiguruje predponu ClientRequestId pre všetky dotazy odoslané konektorom. To umožňuje identifikovať dotazy v klastri tak, aby pochádzali z konkrétnej zostavy alebo zdroja údajov. |
Poznámka
Ak chcete dosiahnuť požadované správanie, môžete skombinovať viacero možností spolu: [NoTruncate=true, CaseInsensitive=true]
Dosiahnutie obmedzení dotazu Kusto
Dotazy Kusto vrátia predvolene až 500 000 riadkov alebo 64 MB, ako je popísané v obmedzeniach dotazov. Tieto predvolené hodnoty môžete prepísať pomocou rozšírených možností v okne pripojenia Azure Data Explorer (Kusto ):
Tieto možnosti vydávajú príkazy množiny údajov s dotazom a zmenia predvolené limity dotazu:
- Obmedzte číslo záznamu výsledku dotazu a vygeneruje
set truncationmaxrecords
- Limitovanie veľkosti údajov výsledkov dotazu v bajtoch vygeneruje
set truncationmaxsize
- Zakázanie skrátenia množiny výsledkov vygeneruje
set notruncation
Citlivosť prípadu
Konektor predvolene vygeneruje dotazy, ktoré pri porovnávaní hodnôt reťazca používajú operátor rozlišujúci veľké a malé písmená ==
. Ak pri údajoch nie je potrebné rozlišovať malé a veľké písmená, nejde o požadované správanie. Ak chcete zmeniť vygenerovaný dotaz, použite možnosť konektora CaseInsensitive
:
let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", [CaseInsensitive=true]),
#"Filtered Rows" = Table.SelectRows(Source, each [State] == "aLaBama")
in
#"Filtered Rows"
Používanie parametrov dotazu
Pomocou parametrov dotazu môžete dotaz dynamicky upravovať.
Použitie parametra dotazu v krokoch dotazu
Parameter dotazu môžete použiť v ľubovoľnom kroku dotazu, ktorý ho podporuje. Môžete napríklad filtrovať výsledky na základe hodnoty parametra. V tomto príklade vyberte rozbaľovaciu ponuku na pravej strane State
stĺpca v editore Power Query, vyberte položku Filtre>textu rovná sa a potom vyberte položku ALABAMA v časti Ponechať riadky, kde 'Štát'.
Poskytnutie parametrov funkcii Azure Data Explorer
Funkcie Kusto sú skvelým spôsobom na údržbu zložitých dotazov jazyka Kusto Query Language (KQL). Odporúčame používať funkcie namiesto vkladania KQL do Power Query. Hlavnou výhodou použitia funkcie je, že logika sa udržiava raz v prostredí, ktoré sa dá jednoducho vytvoriť a testovať.
Funkcie môžu tiež prijať parametre, a tak používateľovi služby Power BI prinášať veľkú flexibilitu. Power BI ponúka mnoho spôsobov filtrovania údajov. Všetky filtre a rýchle filtre sa však pridajú po pôvodnom KQL a v mnohých prípadoch by ste mali použiť filtrovanie v počiatočnej fáze dotazu. Použitie funkcií a dynamických parametrov je veľmi efektívny spôsob, ako prispôsobiť konečný dotaz.
Vytvorenie funkcie
Nasledujúcu funkciu môžete vytvoriť v ľubovoľnom klastri prieskumníka Azure Data Explorer, ku ktorému máte prístup, vrátane bezplatného klastra. Funkcia vráti tabuľku SalesTable
z klastra Pomocníka filtrovanú pre predajné transakcie väčšie alebo menšie ako číslo zadané používateľom zostavy.
.create-or-alter function LargeOrSmallSales(Cutoff:long,Op:string=">")
{
cluster("help").database("ContosoSales").SalesTable
| where (Op==">" and SalesAmount >= Cutoff) or (Op=="<" and SalesAmount <= Cutoff)
}
Po vytvorení môžete funkciu otestovať pomocou:
LargeOrSmallSales(2000,">")
| summarize Sales=tolong(sum(SalesAmount)) by Country
Môžete ho tiež otestovať pomocou:
LargeOrSmallSales(20,"<")
| summarize Sales=tolong(sum(SalesAmount)) by Country
Používanie funkcie v službe Power BI
Pripojenie do klastra, v ktorom ste vytvorili funkciu.
V navigátore Power Query vyberte v zozname objektov funkciu . Konektor analyzuje parametre a zobrazí ich nad údajmi na pravej strane navigátora.
Pridajte hodnoty do parametrov a potom vyberte položku Použiť.
Keď sa zobrazí ukážka, vyberte položku Transformovať údaje.
V editore Power Query vytvorte dva parametre, jeden pre hodnotu cutoff a jeden pre operátor.
Vráťte sa k dotazu
LargeOrSmallSales
a nahraďte hodnoty parametrami dotazu v riadku vzorcov.V editore vytvorte dve statické tabuľky (Enter Data) a poskytnite možnosti pre tieto dva parametre. Pre cutoff môžete vytvoriť tabuľku s hodnotami ako 10, 50, 100, 200, 500, 1000, 2000. Pre tabuľku
Op
s dvomi textovými hodnotami<
a>
.Dva stĺpce v tabuľkách musia byť naviazané na parametre dotazu pomocou výberu naviazať na parameter .
Konečná zostava bude obsahovať rýchle filtre dvoch statických tabuliek a všetky vizuály zo súhrnného predaja.
Základná tabuľka sa najskôr vyfiltruje a potom agreguje.
Použitie parametra dotazu v podrobnostiach pripojenia
Použite parameter dotazu na filtrovanie informácií v dotaze a optimalizáciu výkonu dotazu.
V Rozšírený editor:
Nájdite v dotaze nasledujúcu časť:
Source = AzureDataExplorer.Contents("<Cluster>", "<Database>", "<Query>", [])
Napríklad:
Source = AzureDataExplorer.Contents("Help", "Samples", "StormEvents | where State == 'ALABAMA' | take 100", [])
Vložte parameter dotazu do dotazu Kusto Query Language (KQL).
Ak prilepíte dotaz KQL priamo do dialógového okna pripojenia, dotaz bude súčasťou zdrojového kroku v doplnku Power Query. Parametre môžete vložiť ako súčasť dotazu pomocou rozšíreného editora alebo pri úprave zdrojového príkazu v riadku vzorcov. Vzorový dotaz môže byť
StormEvents | where State == ' " & State & " ' | take 100
.State
je parameter a v čase spustenia dotaz bude:StormEvents | where State == 'ALABAMA' | take 100
Ak váš dotaz obsahuje úvodzovky, kódujte ich správne. Napríklad nasledujúci dotaz v KQL:
"StormEvents | where State == "ALABAMA" | take 100"
sa zobrazí v Rozšírený editor nasledovne s dvomi úvodzovkami:
"StormEvents | where State == ""ALABAMA"" | take 100"
Ak používate parameter, ako
State
napríklad , mal by sa nahradiť nasledujúcim dotazom, ktorý obsahuje tri úvodzovky:"StormEvents | where State == """ & State & """ | take 100"
Používanie funkcie Value.NativeQuery pre funkcie prieskumníka Azure
Ak chcete použiť funkciu Prieskumníka Údajov Azure, ktorá nie je podporovaná v doplnku Power Query, použite metódu Value.NativeQuery v power query M. Táto metóda vloží fragment jazyka dotazu Kusto v rámci vygenerovaného dotazu a môže sa tiež použiť na poskytnutie väčšej kontroly nad spusteným dotazom.
V nasledujúcom príklade je uvedené, ako používať funkciu v prieskumníkovi percentiles
Údajov Azure:
let
StormEvents = AzureDataExplorer.Contents(DefaultCluster, DefaultDatabase){[Name = DefaultTable]}[Data],
Percentiles = Value.NativeQuery(StormEvents, "| summarize percentiles(DamageProperty, 50, 90, 95) by State")
in
Percentiles
Nepoužívajte plánovač obnovovania údajov služby Power BI na vydávanie príkazov riadenia pre Kusto
Power BI obsahuje plánovač obnovenia údajov, ktorý môže pravidelne vydávať dotazy týkajúce sa zdroja údajov. Tento mechanizmus by sa nemal používať na plánovanie riadenia príkazov na kusto, pretože Power BI predpokladá, že všetky dotazy sú iba na čítanie.