Kqlmagic을 사용하여 Notebook 만들기 및 실행
Kqlmagic은 Azure Data Studio Notebook 에서 Python 커널의 기능을 확장하는 명령입니다. Python과 KQL(Kusto 쿼리 언어) 을 결합하여, render
명령이 통합된 Plotly 라이브러리를 사용하여 데이터를 쿼리하고 시각화할 수 있습니다. Kqlmagic은 하나의 위치에서 Notebook, 데이터 분석 및 풍부한 Python 기능이라는 장점을 제공합니다. Kqlmagic이 지원되는 데이터 원본에는 Azure Data Explorer , Application Insights , Azure Monitor 로그 등이 있습니다.
이 문서에서는 Azure Data Studio에서 Azure Data Explorer 클러스터, Application Insights 로그 및 Azure Monitor 로그용 Kqlmagic 확장을 사용하여 Notebook을 만들고 실행하는 방법을 보여 줍니다.
사전 요구 사항
Notebook에서 Kqlmagic 설치 및 설정
이 섹션의 단계는 모두 Azure Data Studio Notebook에서 실행됩니다.
새 Notebook을 만들고 커널을 Python 3으로 변경합니다.
패키지를 업데이트해야 하는 경우 Python 패키지를 업그레이드하라는 프롬프트가 표시될 수 있습니다.
Kqlmagic을 설치합니다.
import sys !{sys.executable} -m pip install Kqlmagic --no-cache-dir --upgrade
설치되었는지 확인합니다.
import sys !{sys.executable} -m pip list
Kqlmagic을 로드합니다.
%reload_ext Kqlmagic
참고
이 단계가 실패하면 파일을 닫고 다시 엽니다.
도움말 설명서를 살펴보거나 버전을 확인하여 Kqlmagic이 올바르게 로드되었는지 테스트할 수 있습니다.
%kql --help "help"
참고
Samples@help
에서 암호를 요구하는 경우 공란으로 두고 Enter 키를 누르면 됩니다.설치된 Kqlmagic 버전을 확인하려면 다음 명령을 실행합니다.
%kql --version
Azure Data Explorer 클러스터와 Kqlmagic
이 섹션에서는 Azure Data Explorer 클러스터에서 Kqlmagic을 사용하여 데이터 분석을 실행하는 방법을 설명합니다.
Azure Data Explorer용 Kqlmagic 로드 및 인증
참고
Azure Data Studio에서 새 Notebook을 만들 때마다 Kqlmagic 확장을 로드해야 합니다.
커널이 Python3으로 설정되었는지 확인합니다.
Kqlmagic을 로드합니다.
%reload_ext Kqlmagic
클러스터에 연결하고 인증합니다.
%kql azureDataExplorer://code;cluster='help';database='Samples'
참고
고유의 ADX 클러스터를 사용하는 경우 다음과 같이 연결 문자열에서 지역을 포함해야 합니다.
%kql azuredataexplorer://code;cluster='mycluster.westus';database='mykustodb'
디바이스 로그인을 사용하여 인증합니다. 출력에서 코드를 복사하고 인증을 선택하면 열리는 브라우저에 코드를 붙여넣습니다. 인증에 성공하면 Azure Data Studio로 돌아가서 스크립트의 나머지 부분을 계속 진행할 수 있습니다.
Azure Data Explorer에 대해 쿼리 및 시각화
렌더링 연산자를 사용하여 데이터를 쿼리하고 ployly 라이브러리를 사용하여 데이터를 시각화합니다. 이 쿼리 및 시각화는 네이티브 KQL을 사용하는 통합 환경을 제공합니다.
주와 빈도를 기준으로 상위 10개의 폭풍우 이벤트를 분석합니다.
%kql StormEvents | summarize count() by State | sort by count_ | limit 10
KQL(Kusto 쿼리 언어)에 익숙하다면,
%kql
뒤에 쿼리를 입력할 수 있습니다.타임라인 차트를 시각화합니다.
%kql StormEvents \ | summarize event_count=count() by bin(StartTime, 1d) \ | render timechart title= 'Daily Storm Events'
%%kql
을 사용한 여러 줄의 쿼리입니다.%%kql StormEvents | summarize count() by State | sort by count_ | limit 10 | render columnchart title='Top 10 States by Storm Event count'
Kqlmagic과 Application Insights
Application Insights용 Kqlmagic 로드 및 인증
커널이 Python3으로 설정되었는지 확인합니다.
Kqlmagic을 로드합니다.
%reload_ext Kqlmagic
참고
Azure Data Studio에서 새 Notebook을 만들 때마다 Kqlmagic 확장을 로드해야 합니다.
연결 및 인증합니다.
먼저 Application Insights 리소스의 API 키를 생성해야 합니다. 그런 다음 애플리케이션 ID 및 API 키를 사용하여 Notebook에서 Application Insights에 연결합니다.
%kql appinsights://appid='DEMO_APP';appkey='DEMO_KEY'
Application Insights에 대해 쿼리 및 시각화
렌더링 연산자를 사용하여 데이터를 쿼리하고 ployly 라이브러리를 사용하여 데이터를 시각화합니다. 이 쿼리 및 시각화는 네이티브 KQL을 사용하는 통합 환경을 제공합니다.
페이지 보기를 표시합니다.
%%kql pageViews | limit 10
참고
마우스를 사용하여 차트의 영역으로 끌어서 특정 날짜로 확대합니다.
타임라인 차트에서 페이지 보기를 표시합니다.
%%kql pageViews | summarize event_count=count() by name, bin(timestamp, 1d) | render timechart title= 'Daily Page Views'
Kqlmagic과 Azure Monitor 로그
Azure Monitor 로그용 Kqlmagic 로드 및 인증
커널이 Python3으로 설정되었는지 확인합니다.
Kqlmagic을 로드합니다.
%reload_ext Kqlmagic
참고
Azure Data Studio에서 새 Notebook을 만들 때마다 Kqlmagic 확장을 로드해야 합니다.
연결 및 인증합니다.
%kql loganalytics://workspace='DEMO_WORKSPACE';appkey='DEMO_KEY';alias='myworkspace'
Azure Monitor 로그에 대해 쿼리 및 시각화
렌더링 연산자를 사용하여 데이터를 쿼리하고 ployly 라이브러리를 사용하여 데이터를 시각화합니다. 이 쿼리 및 시각화는 네이티브 KQL을 사용하는 통합 환경을 제공합니다.
타임라인 차트를 봅니다.
%%kql KubeNodeInventory | summarize event_count=count() by Status, bin(TimeGenerated, 1d) | render timechart title= 'Daily Kubernetes Nodes'
다음 단계
Notebook 및 Kqlmagic에 대한 자세한 정보:
- Azure Data Studio용 Kusto(KQL) 확장(미리 보기)
- Kusto(KQL) Notebook(미리 보기) 만들기 및 실행
- Azure Data Explorer에서 Jupyter Notebook 및 kqlmagic 확장을 사용하여 데이터 분석하기
- Kusto, Application Insights 및 LogAnalytics 데이터로 작업할 수 있는 Notebook 환경을 지원하는 Jupyter Notebook 및 Jupyter 랩으로 확장(Magic).
- Kqlmagic
- Azure Data Studio에서 Notebook을 사용하는 방법