Kümeler arası join işleci
Kümeler arası birleştirme, farklı kümelerde bulunan veri kümelerinden veri birleştirmeyi içerir.
Kümeler arası birleşimde, sorgu üç olası konumda yürütülebilir ve her biri bu belgenin tamamında başvuru için belirli bir belirtmeye sahiptir:
- Yerel küme: İsteğin gönderildiği kümedir ve bu küme, bağlam içinde veritabanını barındıran küme olarak da bilinir.
- Sol küme: Birleştirme işleminin sol tarafında verileri barındıran küme.
- Sağ küme: Birleştirme işleminin sağ tarafında verileri barındıran küme.
Sorguyu çalıştıran küme, diğer kümeden verileri getirir.
Not
Birleştirme işleminin sol ve sağ tarafındaki veriler aynı kümede barındırılıyorsa, veriler yerel küme dışında barındırılıyor olsa bile kümeler arası birleştirme olarak kabul edilmez.
Syntax
[ cluster(
ClusterName).database(
DatabaseName).
]LeftTable|
...
|
join
[ hint.remote=
Strateji ] (
[ cluster(
ClusterName).database(
DatabaseName).
]RightTable|
...
)
koşullarda
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Gerekli | Açıklama |
---|---|---|---|
LeftTable | string |
✔️ | Satırları birleştirilecek sol tablo veya tablosal ifade. olarak $left belirtilir. |
Strateji | string |
Birleştirmenin yürütüleceği kümeyi belirler. Desteklenen değerler şunlardır: left , right , local ve auto . Daha fazla bilgi için bkz . Stratejiler. |
|
ClusterName | string |
Birleştirme verileri yerel kümenin dışında bulunuyorsa kümeyi belirtmek için cluster() işlevini kullanın. | |
Databasename | string |
Birleştirme verileri yerel veritabanı bağlamının dışında bulunuyorsa veritabanını belirtmek için database() işlevini kullanın. | |
RightTable | string |
✔️ | Satırları birleştirilecek olan sağ tablo veya tablosal ifade. olarak $right belirtilir. |
Koşullar | string |
✔️ | LeftTable'dan gelen satırların RightTable'dan gelen satırlarla nasıl eşleşeceğini belirler. Eşleştirmek istediğiniz sütunlar her iki tabloda da aynı ada sahipse ColumnName söz dizimini ON kullanın. Aksi takdirde, LeftColumn RightColumn== $right. söz dizimini ON $left. kullanın. Birden çok koşul belirtmek için "ve" anahtar sözcüğünü kullanabilir veya bunları virgülle ayırabilirsiniz. Virgül kullanırsanız, koşullar "ve" mantıksal işleci kullanılarak değerlendirilir. |
Stratejiler
Aşağıdaki listede Strategy parametresi için desteklenen değerler açıklanmaktadır:
left
: Sol tablonun veya sol kümenin kümesinde birleştirmeyi yürütür.right
: Doğru tablonun veya sağ kümenin kümesinde birleştirmeyi yürütür.local
: Geçerli kümenin kümesinde veya yerel kümede birleştirmeyi yürütür.auto
: (Varsayılan) Uzaktan iletişim kararını Kusto verir.
Not
İpuculanan strateji birleştirme işlemi için geçerli değilse birleştirme uzaktan iletişim ipucu yoksayılır.
Otomatik strateji nasıl çalışır?
Varsayılan olarak, auto
strateji aşağıdaki kurallara göre kümeler arası birleştirmenin nerede yürütülmesi gerektiğini belirler:
- Tablolardan biri yerel kümede barındırılıyorsa, birleştirme yerel kümede gerçekleştirilir.
- Her iki tablo da yerel kümenin dışında barındırılıyorsa, birleştirme doğru kümede gerçekleştirilir.
Aşağıdaki örnekleri inceleyin:
// Example 1
T | ... | join (cluster("B").database("DB").T2 | ...) on Col1
// Example 2
cluster("B").database("DB").T | ... | join (cluster("C").database("DB2").T2 | ...) on Col1
Stratejiyle auto
, "Örnek 1" yerel kümede yürütülür. "Örnek 2"de, hiçbir kümenin yerel küme olmadığını varsayarsak, birleştirme doğru kümede yürütülür.
Performansla ilgili önemli noktalar
En iyi performans için sorguyu en büyük tabloyu içeren kümede çalıştırmanızı öneririz.
Aşağıdaki örnekleri yeniden ele alalım:
// Example 1
T | ... | join (cluster("B").database("DB").T2 | ...) on Col1
// Example 2
cluster("B").database("DB").T | ... | join (cluster("C").database("DB2").T2 | ...) on Col1
"Örnek 1", yerel kümede çalışacak şekilde ayarlanmıştır, ancak tarafından T | ...
üretilen veri kümesi tarafından üretilen cluster("B").database("DB").T2 | ...
veri kümesinden küçükse, birleştirme işleminin yerel küme yerine doğru kümede B
küme üzerinde yürütülmesi daha verimli olur.
Aşağıdaki sorgu bunu stratejiyi right
kullanarak yapar. Stratejiyle right
, sol tablo yerel kümede olsa bile sağ kümede birleştirme işlemi gerçekleştirilir.
T | ... | join hint.remote=right (cluster("B").database("DB").T2 | ...) on Col1
İlgili içerik
Bu özellik Azure İzleyici'de desteklenmez
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin