M365Con 2027 – безкоштовна онлайн-конференція · 11–22 Jan 2027 · 120 sessions→ m365con.net

Блог · Mirko Peters

Перехід від SQL до KQL у Microsoft Fabric: посібник для розробників

By ·

Дізнайтеся, як перейти від SQL до KQL у Microsoft Fabric з цим посібником для розробників: відповідності між реченнями, зміни синтаксису та запити для часових рядів.

Automatically translated with AI from the original post. Read the English original

Cover: KQL Databases in Fabric - Simply Explained

Міграція аналітичних навантажень із традиційного SQL на Kusto Query Language (KQL) у Microsoft Fabric може здаватися адміністраторам баз даних складним завданням. Цей посібник розглядає прямі структурні відповідності між реченнями SQL та операторами KQL і показує, як перенести наявний досвід роботи з базами даних на швидкий аналіз часових рядів без початкової крутої кривої навчання.

Головне

  • KQL замінює речення SQL 'FROM' тим, що назва таблиці стоїть на самому початку запиту.
  • Символ каналу (|) в KQL послідовно з'єднує операції, відтворюючи логіку, за якою движок запитів обробляє дані.
  • SQL 'SELECT' відповідає оператору KQL 'project', а дії 'GROUP BY' безпосередньо перетворюються на 'summarize'.
  • Microsoft Fabric містить вбудовану допомогу з перекладом, що дозволяє розробникам експериментувати та вчитися на практичних еквівалентах команд.
  • Розуміння чутливості до регістру та групування часових інтервалів (time-bucket binning) є обов'язковими кроками для написання готових до продуктивного використання запитів KQL.

Ментальний перехід від SQL до KQL

Коли ви вперше відкриваєте базу даних KQL у Microsoft Fabric, синтаксис здається незнайомим приблизно п'ять хвилин. Традиційний SQL змушує обгортати запити в певні речення, часто починаючи з 'SELECT' і відсуваючи вихідну таблицю до речення 'FROM', захованого всередині інструкції. KQL змінює це повністю.

В KQL ви завжди починаєте з назви таблиці. Якщо таблиця називається service_events, це ваш абсолютно перший рядок. Жодних додаткових слів, що обгортають запит, немає. Щойно ви оголосили таблицю, кожен наступний крок з'єднується символом каналу (|). Такий підхід змушує читати запити природно, зверху вниз: почніть зі всіх подій, залиште лише збої, порахуйте їх за годинами та ранжуйте найгірших порушників.

Відповідності між реченнями SQL та операторами KQL

Якщо ви вже знаєте SQL, використовуйте цей досвід як міст, а не як перешкоду. Движок Kusto, що використовується в event house у Fabric, має прямі аналоги майже для кожної стандартної операції SQL, хоча вони розташовані в послідовності, оптимізованій для телеметрії та аналізу журналів.

Вибірка та проєкція даних

Досліджуючи незнайому таблицю в SQL, ви могли б написати швидкий запит із обмеженням рядків. В KQL використовується оператор take. Виконання service_events | take 10 дає невелику вибірку записів, щоб перевірити назви стовпців, формати дат і значення статусів.

Для вибору конкретних стовпців, як у реченні SQL 'SELECT', KQL використовує оператор project. Важливо, що project виконується пізніше в потоці запиту. Під час проєкції ви також можете перейменовувати стовпці на льоту, що дуже допомагає під час формування звітів для зацікавлених сторін поза командою інженерів.

Фільтрація та розширення атрибутів

Фільтрація рядків у KQL спирається на оператор where. Кілька умов where можна з'єднувати в окремих рядках, що значно покращує читабельність запиту, коли йдеться про складну логіку:

service_events | where timestamp > ago(24h) | where status_code == 500

Якщо у ваших даних бракує конкретного атрибута, потрібного для аналізу, оператор extend створює тимчасовий обчислюваний стовпець, не змінюючи вихідну таблицю. Це ідеально підходить для витягування значень із необроблених рядків помилок або для категоризації міток часу перед майбутніми агрегаціями.

Обробка агрегацій і даних часових рядів

Групування даних в SQL потребує застосування конструкції 'GROUP BY'. У KQL оператор summarize виконує всі групові обчислення, зокрема підрахунок, середні значення, мінімуми та максимуми. Наприклад, підрахунок збоїв за назвою сервісу виглядає так:

service_events | summarize failure_count = count() by service_name

Під час роботи з журналами та телеметрією у Fabric час майже завжди є головним виміром для групування. KQL використовує функцію bin(), щоб згрупувати мітки часу в регулярні інтервали, наприклад погодинні або п'ятихвилинні, перетворюючи величезний, шумний список окремих журналів транзакцій на чітку та практичну хронологію.

Висновки та наступні кроки

Опанування KQL у Microsoft Fabric відкриває потужні можливості для аналітики в реальному часі, моніторингу телеметрії та аналізу журналів. Зіставивши наявні знання SQL з операторами KQL, придатними для конвеєрів, ви скоротите час на усунення несправностей і почнете одразу отримувати цінність із потокових даних. Щоб глибше розібратися в архітектурі таких подій-хабів і движків аналітики в реальному часі, обов’язково послухайте повний епізод, де експерти діляться практичними стратегіями.

Entities in this article

Microsoft Fabric Kusto Query Language (KQL) Telemetry

Related articles

RSS