Aan de slag met een eventhouse
Als u een eventhouse wilt maken, moet u aan een werkruimte werken met een Infrastructuurcapaciteit die ondersteuning biedt voor de mogelijkheid van Realtime Intelligence Fabric. Vervolgens kunt u een of meer eventhouses voor uw gegevens maken.
Een eventhouse bevat een of meer KQL-databases, waarin u tabellen, opgeslagen procedures, gerealiseerde weergaven en andere items kunt maken om uw gegevens te beheren. Nadat u een eventhouse hebt gemaakt, kunt u de standaard KQL-database gebruiken of een nieuwe database maken.
Als u uw gegevens in een KQL-database in een eventhouse wilt ophalen, importeert u deze meestal vanuit een statische locatie (zoals een lokaal bestand, OneLake, Azure Storage of een voorbeeldgegevensset) of vanuit een realtime-bron (zoals Azure Event Hubs of een Fabric-gebeurtenisstream).
Notitie
U kunt de OneLake-optie inschakelen voor een database of voor afzonderlijke tabellen die deze bevat, zodat de gegevens uit deze tabellen beschikbaar zijn in OneLake.
Query's uitvoeren op tabellen in een KQL-database
Als u gegevens in de tabellen in een KQL-database wilt opvragen, kunt u Kusto-querytaal (KQL)-code schrijven of een beperkte subset van SQL-instructies (Structured Query Language) gebruiken.
Om het gemakkelijker te maken om query's te ontwikkelen, bevatten eventhouses ondersteuning voor een of meer KQL-querysets, waardoor het ontwikkelen van query's wordt vereenvoudigd door voorbeeldsyntaxis en programmeerprogramma's te bieden. Er wordt een standaardqueryset opgegeven en u kunt indien nodig meer maken.
KQL-syntaxis is intuïtief en beknopt en bevat een breed scala aan functies en expressies waarmee u eenvoudig complexe gegevensanalyses efficiënt kunt uitvoeren.
De eenvoudigste KQL-query bestaat gewoon uit een tabelnaam. Als u bijvoorbeeld alle gegevens wilt ophalen uit een tabel met de naam Automotive, kunt u de volgende query uitvoeren:
Automotive
Deze KQL-query is het equivalent van de SQL-expressie SELECT * FROM Automotive
.
Gezien de potentieel enorme grootte van tabellen op basis van niet-gebonden gegevensstromen in realtime, is het gebruik van een eenvoudige tabelnaamquery ongebruikelijk. Als u een voorbeeld van gegevens uit de tabel wilt ophalen, kunt u het trefwoord overnemen , zoals hier wordt weergegeven:
Automotive
| take 100
Deze query retourneert 100 rijen uit de tabel Automotive (vergelijkbaar met de SQL SELECT TOP 100 * FROM Automotive
). Let op het gebruik van het | teken op elke nieuwe regel om de componenten van de query te scheiden.
Hier volgen enkele veelvoorkomende query's en hun SQL-equivalenten
Specifieke kolommen ophalen
Automotive
| project trip_id, pickup_datetime, fare_amount
SELECT trip_id, pickup_datetime, fare_amount
FROM Automotive
Rijen filteren
Automotive
| where fare_amount > 20
| project trip_id, pickup_datetime, fare_amount
SELECT trip_id, pickup_datetime, fare_amount
FROM Automotive
WHERE fare_amount > 20
Resultaten sorteren
Automotive
| where fare_amount > 20
| project trip_id, pickup_datetime, fare_amount
| sort by pickup_datetime desc
SELECT trip_id, pickup_datetime, fare_amount
FROM Automotive
WHERE fare_amount > 20
ORDER BY pickup_datetime DESC
Groeperen en aggregeren
Automotive
| summarize trip_count = count() by vendor_id
| project vendor_id, trip_count
SELECT vendor_id, COUNT(*) AS trip_count
FROM Automotive
GROUP BY vendor_id
Notitie
In alle bovenstaande voorbeelden kunt u de KQL-query of de equivalente SQL-query gebruiken om gegevens op te halen uit een tabel in een KQL-database. Er zijn voordelen voor elke taal en in het geval van een KQL-database is KQL de voorkeurstaal om de volgende redenen:
- Eenvoud: KQL is een eenvoudigere taal dan SQL, waardoor het gemakkelijker te leren en te gebruiken is.
- Prestaties: KQL is geoptimaliseerd voor prestaties en kan grote hoeveelheden gegevens efficiënter verwerken dan SQL.
- Flexibiliteit: KQL is flexibeler dan SQL, zodat gebruikers eenvoudig complexe query's kunnen uitvoeren.
- Integratie: KQL is geïntegreerd met andere Microsoft-producten, zoals Azure Monitor en Azure Sentinel.
Een belangrijk nadeel van het gebruik van SQL via KQL is dat het niet de systeemeigen taal van de engine is en dat het een transformator moet doorlopen. Dit taalverschil voorkomt dat het rechtstreeks vanuit de Queryset naar Power BI wordt gepubliceerd.
In sommige gevallen kan SQL echter een goede keuze zijn om de volgende redenen:
- Compatibiliteit: SQL is een veelgebruikte taal en is compatibel met veel verschillende databasesystemen.
- Functionaliteit: SQL heeft een breder scala aan functies en functies dan KQL.
- Procedurele programmering: SQL ondersteunt procedurele programmering, waardoor ontwikkelaars complexe scripts en opgeslagen procedures kunnen schrijven.
Queryresultaten visualiseren in een queryset
Hoewel u uiteindelijk realtime dashboards of Power BI-rapporten wilt maken op basis van uw query's, kan het handig zijn om de gegevens in een queryset te verkennen om snelle gegevensvisualisaties te maken. KQL-querysets bevatten, net als veel algemene ontwikkelomgevingen voor notebooks , de mogelijkheid om de resultaten van een query als grafiek weer te geven.
Copilot gebruiken om te helpen met query's
Voor hulp op basis van AI met KQL-query's kunt u Copilot gebruiken voor realtime intelligence.
Wanneer uw beheerder Copilot heeft ingeschakeld, ziet u de optie in de menubalk van queryset. Copilot wordt geopend als een deelvenster aan de zijkant van de hoofdquery-interface. Wanneer u een vraag stelt over uw gegevens, genereert Copilot de KQL-code om uw vraag te beantwoorden.