Zdieľať cez


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

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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

  5. Pokračujte výberom možnosti OK .

    Snímka obrazovky dialógového okna Azure Data Explorer (Kusto) so zadanou URL adresou klastra.

  6. 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.

    Snímka obrazovky dialógového okna prihlásenia v prieskumníkovi Azure Data Explorer s kontom organizácie pripraveným na prihlásenie.

  7. 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.

    Snímka obrazovky s otvoreným oknom Navigátora, ktorá obsahuje údaje z 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:

  1. 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.

    Snímka obrazovky okna Získať údaje s zvýrazneným prieskumníkom Azure Data Explorer.

  2. 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.

    Snímka obrazovky zobrazujúca stránku Výber zdroja údajov pre Azure Data Explorer (Kusto) so zadanou URL adresou klastra.

  3. 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í

  4. Ak je to potrebné, vyberte lokálnu bránu údajov v bráne údajov.

  5. Ak ešte nemáte pripojenie k klastru, vyberte položku Prihlásiť sa. Prihláste sa pomocou konta organizácie.

  6. Po úspešnom prihlásení vyberte položku Ďalej.

  7. 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.

    Snímka obrazovky stránky Vybrať údaje, ktorá obsahuje údaje z 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 ):

a rozšírených možností.

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'.

Filtrovať výsledky pomocou parametra.

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
  1. Pripojenie do klastra, v ktorom ste vytvorili funkciu.

  2. V navigátore Power Query vyberte v zozname objektov funkciu . Konektor analyzuje parametre a zobrazí ich nad údajmi na pravej strane navigátora.

    Snímka obrazovky s parametrami Cutoff a Op zobrazenými nad údajmi v navigátore.

  3. Pridajte hodnoty do parametrov a potom vyberte položku Použiť.

  4. Keď sa zobrazí ukážka, vyberte položku Transformovať údaje.

  5. V editore Power Query vytvorte dva parametre, jeden pre hodnotu cutoff a jeden pre operátor.

  6. Vráťte sa k dotazu LargeOrSmallSales a nahraďte hodnoty parametrami dotazu v riadku vzorcov.

    Snímka obrazovky s funkciou LargeOrSmallSales s dôrazom na Cutoff_Param a Op_Param parametre v riadku vzorcov.

  7. 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 Ops dvomi textovými hodnotami < a >.

  8. Dva stĺpce v tabuľkách musia byť naviazané na parametre dotazu pomocou výberu naviazať na parameter .

    Snímka obrazovky s operáciou smerujúcou k parametru Op_Param.

Konečná zostava bude obsahovať rýchle filtre dvoch statických tabuliek a všetky vizuály zo súhrnného predaja.

Snímka obrazovky v službe Power BI s výbermi cutoff a op hodnotami zobrazenými vedľa tabuľky.

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:

  1. 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", [])
    
  2. 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

  3. 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 Statenaprí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.