Azure Veri Gezgini'de verileri analiz etmek için Jupyter Notebook ve kqlmagic uzantısı kullanma
Jupyter Notebook , canlı kod, denklemler, görselleştirmeler ve anlatı metni içeren belgeler oluşturmanıza ve paylaşmanıza olanak tanıyan bir açık kaynak web uygulamasıdır. Veri temizleme ve dönüştürme, sayısal simülasyon, istatistiksel modelleme, veri görselleştirme ve makine öğrenmesi gibi çok çeşitli görevler için kullanışlıdır.
Kqlmagic, Kusto Sorgu Dili (KQL) sorgularını yerel olarak çalıştırabilmeniz için Jupyter Notebook'taki Python çekirdeğinin özelliklerini genişletir. İşleme işleciyle tümleştirilmiş zengin Plot.ly kitaplığını kullanarak verileri sorgulamak ve görselleştirmek için Python ve KQL'yi birleştirebilirsiniz. Kqlmagic uzantısı Jupyter Lab, Visual Studio Code Jupyter uzantısı ve Azure Data Studio ile uyumludur ve azure Veri Gezgini, Azure İzleyici günlükleri ve Uygulama Analizler desteklenen veri kaynaklarıdır.
Bu makalede, Azure Veri Gezgini'de depolanan verilere bağlanmak ve verileri sorgulamak için Jupyter Notebook'ta kqlmagic kullanmayı öğreneceksiniz.
Önkoşullar
- Microsoft hesabı veya Microsoft Entra kullanıcı kimliği. Azure aboneliği gerekmez.
- Yerel makinenizde jupyter Notebook yüklü. Aksi takdirde Azure Data Studio'yu kullanın.
- Python 3.6. Jupyter Notebook çekirdek sürümünü Python 3.6 olarak değiştirmek için Çekirdek>ÇekirdeğiNi Değiştir>Python 3.6'yı seçin.
Kqlmagic yükleme
Kqlmagic uzantısını yükleyip yükledikten sonra, not defterinize KQL sorguları yazabilirsiniz. Çekirdek durursa veya sonuçlar beklendiği gibi değilse kqlmagic uzantısını yeniden yükleyin.
Kqlmagic'i yüklemek için aşağıdaki komutu çalıştırın:
!pip install Kqlmagic --no-cache-dir --upgrade
Kqlmagic uzantısını yüklemek için aşağıdaki komutu çalıştırın:
%reload_ext Kqlmagic
Kümeye bağlanma
Kümenize bağlanmak için tercih ettiğiniz yöntemin sekmesini seçin.
Not
Mümkün olduğunda Sertifika kimlik doğrulama yöntemini kullanmanızı öneririz.
Microsoft Entra sertifikası, not defterinden erişilebilen bir dosyada depolanmalıdır. Bu dosyaya bağlantı dizesi başvurabilirsiniz.
%kql AzureDataExplorer://tenant='<tenant-id>';certificate='<certificate>';certificate_thumbprint='<thumbprint>';cluster='<cluster-name>';database='<database-name>'
İpucu
- bağlantı dizesi parametreleştirmek için, Python ifadeleri olarak yorumlanırken tırnak içinde olmayan değerleri kullanın.
- Kimlik bilgilerini alma işlemini basitleştirmek için bkz. Bağlan seçenekleri.
Küme bağlantısı örneği
Aşağıdaki komut, kümede barındırılan help
veritabanında kimlik doğrulaması yapmak için Samples
Microsoft Entra kod yöntemini kullanır. Microsoft Entra olmayan kullanıcılar için kiracı adını Microsoft.com
Microsoft Entra kiracınızla değiştirin.
%kql AzureDataExplorer://tenant="Microsoft.com";code;cluster='help';database='Samples'
Bağlan ion seçenekleri
Kimlik bilgilerini alma işlemini basitleştirmek için, bağlantı dizesi sonra aşağıdaki seçenek bayraklarından birini ekleyebilirsiniz.
Seçenek | Açıklama | Örnek söz dizimi |
---|---|---|
try_azcli_login | Azure CLI'dan kimlik doğrulaması kimlik bilgilerini almayı deneme. | -try_azcli_login |
try_azcli_login_subscription | Belirtilen aboneliğe göre Azure CLI'dan kimlik doğrulaması kimlik bilgilerini almayı deneme. | -try_azcli_login_subscription=<subscription_id> |
try_vscode_login | Visual Studio Code Azure hesabı oturum açmadan kimlik doğrulama kimlik bilgilerini almayı deneme. | -try_vscode_login |
try_msi | MSI yerel uç noktasından kimlik doğrulama kimlik bilgilerini almayı deneme. İsteğe bağlı MSI parametrelerine sahip bir sözlük bekler: resource ,/client_id object_id mis_res_id / , cloud_environment , . timeout |
-try_msi={"client_id":<id>} |
try_token | Belirtilen belirteçle kimlik doğrulaması. Azure AD v1 veya v2 belirteç özelliklerine sahip bir sözlük bekler. | -try_token={"tokenType":"bearer","accessToken":"<token>"} |
Bağlantı seçeneği örneği
Önceki tabloda açıklanan seçeneklerden herhangi biri bağlantı dizesi sonra eklenebilir. Aşağıdaki örnekte Azure CLI oturum açma seçeneği kullanılmaktadır:
%kql azureDataExplorer://code;cluster='help';database='Samples' -try_azcli_login
Bağlantı bilgilerini görüntüleme
Tüm mevcut bağlantıları görmek için aşağıdaki komutu çalıştırın:
%kql --conn
Belirli bir bağlantının ayrıntılarını denetlemek için aşağıdaki komutu çalıştırın:
%kql --conn <database-name>@<cluster-name>
Sorgulama ve görselleştirme
İşleme işlecini kullanarak verileri sorgulayıp ploy.ly kitaplığını kullanarak verileri görselleştirin. Bu sorgu ve görselleştirme, yerel KQL kullanan tümleşik bir deneyim sağlar. Kqlmagic, , pivotchart
ve ladderchart
dışındaki timepivot
çoğu grafiği destekler. İşleme, , ysplit
ve accumulate
dışındaki kind
tüm özniteliklerle desteklenir.
Pasta çizelgesini sorgulama ve işleme
%%kql
StormEvents
| summarize statecount=count() by State
| sort by statecount
| take10
| render piechart title="My Pie Chart by State"
Zaman çizelgesini sorgulama ve işleme
%%kql
StormEvents
| summarize count() by bin(StartTime,7d)
| render timechart
Not
Bu grafikler etkileşimlidir. Belirli bir saati yakınlaştırmak için bir zaman aralığı seçin.
Grafik renklerini özelleştirme
Varsayılan renk paletini beğenmezseniz, palet seçeneklerini kullanarak grafikleri özelleştirin. Kullanılabilir paletleri burada bulabilirsiniz: Kqlmagic sorgu grafiği sonucunuz için renk paleti seçme
Palet listesi için:
%kql --palettes -popup_window
Renk paletini
cool
seçin ve sorguyu yeniden işleyip:%%kql -palette_name "cool" StormEvents | summarize statecount=count() by State | sort by statecount | take10 | render piechart title="My Pie Chart by State"
Python ile sorguyu parametreleştirme
Kqlmagic, Kusto Sorgu Dili ile Python arasında basit bir değişim sağlar. Daha fazla bilgi edinmek için: Python ile kqlmagic sorgunuzu parametreleştirme
KQL sorgunuzda Python değişkeni kullanma
Verileri filtrelemek için sorgunuzda bir Python değişkeninin değerini kullanabilirsiniz:
statefilter = ["TEXAS", "KANSAS"]
%%kql
let _state = statefilter;
StormEvents
| where State in (_state)
| summarize statecount=count() by bin(StartTime,1d), State
| render timechart title = "Trend"
Sorgu sonuçlarını Pandas DataFrame'e dönüştürme
Pandas DataFrame'de KQL sorgusunun sonuçlarına erişebilirsiniz. Değişkene _kql_raw_result_
göre yürütülen son sorgu sonuçlarına erişin ve sonuçları pandas DataFrame'e aşağıdaki gibi kolayca dönüştürün:
df = _kql_raw_result_.to_dataframe()
df.head(10)
Örnek
Birçok analiz senaryosunda, çok sayıda sorgu içeren yeniden kullanılabilir not defterleri oluşturmak ve bir sorgudaki sonuçları sonraki sorgulara beslemek isteyebilirsiniz. Aşağıdaki örnekte verileri filtrelemek için Python değişkeni statefilter
kullanılır.
En yüksek
DamageProperty
değere sahip ilk 10 durumu görüntülemek için bir sorgu çalıştırın:%%kql StormEvents | summarize max(DamageProperty) by State | order by max_DamageProperty desc | take10
En üst durumu ayıklamak ve python değişkenine ayarlamak için bir sorgu çalıştırın:
df = _kql_raw_result_.to_dataframe() statefilter =df.loc[0].State statefilter
deyimini ve Python değişkenini
let
kullanarak bir sorgu çalıştırın:%%kql let _state = statefilter; StormEvents | where State in (_state) | summarize statecount=count() by bin(StartTime,1d), State | render timechart title = "Trend"
Yardım komutunu çalıştırın:
%kql --help "help"
İpucu
Kullanılabilir tüm yapılandırmalar hakkında bilgi almak için kullanın %config Kqlmagic
. Bağlantı sorunları ve yanlış sorgular gibi Kusto hatalarını gidermek ve yakalamak için %config Kqlmagic.short_errors=False
Örnek not defterleri
- Azure Veri Gezgini için kqlmagic kullanmaya başlama
- Uygulama Analizler için kqlmagic kullanmaya başlama
- Azure İzleyici günlükleri için kqlmagic kullanmaya başlama
- Python ile kqlmagic sorgunuzu parametrize etme
- Kqlmagic sorgu grafiği sonucunuz için renk paleti seçme
İlgili içerik
- Kusto Sorgu Dili Öğrenin (KQL)