KQL’de distinct ve project Operatörleri Karşılaştırması
Kusto Query Language (KQL), Azure Data Explorer gibi büyük veri platformlarında güçlü sorgulamalar yapmamızı sağlayan bir dildir. Bu dilde, verileri filtrelemek ve şekillendirmek için birçok operatör bulunur. Bunlardan ikisi, sıklıkla karıştırılan ve benzer işlevlere sahip gibi görünen distinct ve project operatörleridir. Ancak, aralarındaki ince farklar, sorgu performansınızı ve sonuçlarınızı önemli ölçüde etkileyebilir. Bu makalede, bu iki operatörün özelliklerini detaylı olarak inceleyecek ve hangi durumda hangisinin kullanılması gerektiğini açıklayacağız.
distinct Operatörü
distinct operatörü, bir tabloda belirtilen sütun(lar) için benzersiz değerleri döndürür. Başka bir deyişle, aynı değere sahip satırları tek bir satıra indirger. Örneğin, bir “Ürün” tablosunda aynı ürün adı ile birden fazla kayıt varsa, distinct ÜrünAdı sorgusu sadece benzersiz ürün isimlerini içeren bir sonuç kümesi üretir. Bu operatör, özellikle belirli bir sütun içindeki benzersiz değerleri saymak veya listelemek istediğinizde oldukça faydalıdır. Örneğin, kaç farklı ürün türümüz olduğunu öğrenmek için | distinct ÜrünAdı | count sorgusunu kullanabiliriz. Ayrıca, distinct operatörü, sadece belirtilen sütunlara odaklanır, diğer sütunlardaki verileri dikkate almaz. Bu, verilerin daha kompakt bir şekilde sunulmasını sağlar.
Ürünler
| distinct ÜrünAdı
project Operatörü
project operatörü ise, bir tablodaki belirtilen sütunları seçerek yeni bir tablo oluşturur. Bu, verilerin özelleştirilmesi ve gereksiz sütunların kaldırılması için kullanılır. distinct‘ten farklı olarak, project, tüm satırları korur. Sadece, belirtilen sütunlar dışında kalan sütunları atar. Dolayısıyla, bir tabloda birçok sütun varsa ve sadece belli başlı sütunlarla ilgileniyorsanız, project operatörü ile daha verimli bir sorgu oluşturabilirsiniz. Örneğin, bir “Siparişler” tablosundan sadece SiparişID ve Tarih sütunlarını seçmek için | project SiparişID, Tarih sorgusunu kullanabiliriz. Bu, sorgunun işlem süresini kısaltır ve sadece gerekli verileri döndürür.
Siparişler
| project SiparişID, Tarih
distinct ve project’in Birlikte Kullanımı
İki operatörün birlikte kullanımı, daha karmaşık sorgulamalar oluşturmak için oldukça güçlü bir araçtır. Örneğin, bir tabloda belirli bir sütun için benzersiz değerleri bulmak ve bu değerlere ait diğer sütunları da görmek istiyorsanız, önce distinct kullanarak benzersiz satırları seçebilir, daha sonra project ile gerekli sütunları seçebilirsiniz. Bu durum, performansı artırabilir ve istenen sonuçları daha etkili bir şekilde elde etmenizi sağlar. Anca sıralama önemliyse, bu durumlarda summarize operatörünün kullanılması daha etkili olabilir.
Ürünler
| distinct ÜrünAdı, ÜrünKategorisi
| project ÜrünAdı, ÜrünKategorisi
Sonuç
Hem distinct hem de project, KQL’de veri manipülasyonu için önemli operatörlerdir. Ancak, amaçları farklıdır. distinct benzersiz değerleri seçerken, project belirli sütunları seçer. Hangi operatörün kullanılacağı, sorgu gereksinimlerine bağlıdır. Doğru operatörün seçimi, sorgu performansını ve netliğini artırır. Bu makalede verilen örnekler, bu iki operatörün kullanımını ve aralarındaki farkları daha iyi anlamanıza yardımcı olacaktır. Daha fazla bilgi için fatihsoysal.com adresini ziyaret edebilirsiniz.
Daha fazla KQL öğrenmek için Microsoft KQL dokümantasyonuna göz atabilirsiniz.
#Etiketler: KQL, distinct, project, Azure Data Explorer, veri analizi, sorgu optimizasyonu, benzersiz değerler, sütun seçimi, Kusto Query Language, fatihsoysal.com