Sürekli veri dışa aktarmaya genel bakış

Bu makalede, düzenli aralıklarla çalıştırılacak bir sorguyla Verilerin Kusto'dan bir dış tabloya sürekli dışarı aktarılması açıklanmaktadır. Sonuçlar, Azure Blob Depolama gibi hedefi ve dışarı aktarılan verilerin şemasını tanımlayan dış tabloda depolanır. Bu işlem, bazı özel durumlar dışında tüm kayıtların "tam olarak bir kez" dışarı aktarılmasını garanti eder. Varsayılan olarak, sürekli dışarı aktarma tüm düğümlerin eşzamanlı olarak dışarı aktarıldığı dağıtılmış modda çalışır, bu nedenle yapıt sayısı kümedeki düğüm sayısına bağlıdır. Sürekli dışarı aktarma, kümenizden düşük gecikme süreli akış verileri için tasarlanmamıştır.

Sürekli veri dışarı aktarmayı etkinleştirmek için bir dış tablo oluşturun ve ardından dış tabloya işaret eden bir sürekli dışarı aktarma tanımı oluşturun .

Bazı durumlarda, sürekli dışarı aktarma işini başarıyla yapılandırmak için yönetilen kimlik kullanmanız gerekir. Daha fazla bilgi için bkz. Sürekli dışarı aktarma işini çalıştırmak için yönetilen kimlik kullanma.

İzinler

Tüm sürekli dışarı aktarma komutları için en az Veritabanı Yönetici izinleri gerekir.

Sürekli dışarı aktarma yönergeleri

  • Çıkış şeması:

    • Dışarı aktarma sorgusunun çıkış şeması, dışarı aktardığınız dış tablonun şemasıyla eşleşmelidir.
  • Sıklık:

    • Sürekli dışarı aktarma özelliğinde bunun için yapılandırılan zaman aralığına intervalBetweenRuns göre çalışır. Bu aralık için önerilen değer, kabul etmek istediğiniz gecikme sürelerine bağlı olarak en az birkaç dakikadır. Alım oranı yüksekse zaman aralığı bir dakika kadar düşük olabilir.

      Not

      yalnızca intervalBetweenRuns bir öneri görevi görür ve kesin olması garanti değildir. Sürekli dışarı aktarma, düzenli aralıklarla toplamaları dışarı aktarmak için uygun değildir. Örneğin, intervalBetweenRuns=1h sürekli dışarı aktarma tam olarak saatte bir çalışmayeceğinden saatlik toplama (T | summarize by bin(Timestamp, 1h)) ile yapılandırması beklendiği gibi çalışmaz. Bu nedenle, her saatlik bölme dışarı aktarılan verilerde birden çok giriş alır.

  • Dosya sayısı:

    • Her sürekli dışarı aktarma yinelemesinde dışarı aktarılan dosyaların sayısı, dış tablonun nasıl bölümlendiğine bağlıdır. Daha fazla bilgi için bkz. Dış tabloya aktarma komutu. Her sürekli dışarı aktarma yinelemesi her zaman yeni dosyalara yazılır ve hiçbir zaman mevcut dosyalara eklenmez. Sonuç olarak, dışarı aktarılan dosyaların sayısı da sürekli dışarı aktarmanın çalışma sıklığına bağlıdır. frequency parametresidir intervalBetweenRuns.
  • Dış tablo depolama hesapları:

    • En iyi performans için küme ve depolama hesapları aynı Azure bölgesinde birlikte bulunmalıdır.
    • Sürekli dışarı aktarma, kümedeki tüm düğümlerin eşzamanlı olarak dışarı aktarıldığı şekilde dağıtılmış bir şekilde çalışır. Büyük kümelerde ve dışarı aktarılan veri hacmi büyükse, bu durum depolamanın kısıtlanmasına yol açabilir. Dış tablo için birden çok depolama hesabının yapılandırılması önerilir. Daha fazla ayrıntı için bkz. dışarı aktarma komutları sırasında depolama hataları .

Tam olarak bir kez dışarı aktarma

"Tam olarak bir kez" dışarı aktarmayı garanti etmek için, sürekli dışarı aktarma veritabanı imleçlerini kullanır. Sürekli dışarı aktarma sorgusu zaman damgası filtresi içermemelidir; veritabanı imleçleri mekanizması kayıtların birden çok kez işlenmemesini sağlar. Sorguya zaman damgası filtresi eklemek, dışarı aktarılan verilerde eksik verilere yol açabilir.

IngestionTime ilkesi , dışarı aktarmada "tam olarak bir kez" işlenmesi gereken sorguda başvuruda bulunılan tüm tablolarda etkinleştirilmelidir. İlke, yeni oluşturulan tüm tablolarda varsayılan olarak etkindir.

"Tam olarak bir kez" dışarı aktarma garantisi yalnızca dışarı aktarılan yapıtları göster komutunda bildirilen dosyalar içindir. Sürekli dışarı aktarma, her kaydın dış tabloya yalnızca bir kez yazılacağını garanti etmez. Dışarı aktarma başladıktan sonra bir hata oluşursa ve yapıtlardan bazıları dış tabloya zaten yazılmışsa, dış tablo yinelenenler içerebilir. Tamamlanmadan önce bir yazma işlemi durdurulduysa, dış tabloda bozuk dosyalar olabilir. Böyle durumlarda, yapıtlar dış tablodan silinmez, ancak dışarı aktarılan yapıtları göster komutunda bildirilmeyecektir. Dışarı aktarılan dosyaları kullanarak kullanmak show exported artifacts command yineleme veya bozulma olmamasını garanti eder.

Olgu ve boyut tablolarından dışarı aktarma

Varsayılan olarak, dışarı aktarma sorgusunda başvurulan tüm tabloların olgu tabloları olduğu varsayılır. Bu nedenle, bunların kapsamı veritabanı imlecine göre belirlenmiş durumdadır. Söz dizimi, hangi tabloların kapsamı (olgu) ve hangilerinin kapsamı (boyut) olmadığını açıkça bildirir. over Ayrıntılar için create komutundaki parametresine bakın.

Dışarı aktarma sorgusu yalnızca önceki dışarı aktarma yürütmeden sonra katılan kayıtları içerir. Dışarı aktarma sorgusu, boyut tablosunun tüm kayıtlarının tüm dışarı aktarma sorgularına dahil olduğu boyut tablolarını içerebilir. Sürekli dışarı aktarmada olgu ve boyut tabloları arasında birleştirmeler kullanılırken olgu tablosundaki kayıtların yalnızca bir kez işlendiğini unutmayın. Bazı anahtarlar için boyut tablolarındaki kayıtlar eksikken dışarı aktarma çalıştırılırsa, ilgili anahtarların kayıtları kaçırılır veya dışarı aktarılan dosyalardaki boyut sütunları için null değerler içerir. Yanıtsız veya null kayıtları döndürmek, sorgunun iç veya dış birleştirme kullanıp kullanmadığına bağlıdır. forcedLatency Sürekli dışarı aktarma tanımındaki özellik, olgu ve boyut tablolarının aynı zamanda kayıtları eşleştirmek için alındığı durumlarda yararlı olabilir.

Not

Yalnızca boyut tablolarının sürekli dışarı aktarılması desteklenmez. Dışarı aktarma sorgusu en az tek bir olgu tablosu içermelidir.

Sürekli dışarı aktarmayı izleme

Aşağıdaki dışarı aktarma ölçümlerini kullanarak sürekli dışarı aktarma işlerinizin durumunu izleyin:

  • Continuous export max lateness - Kümedeki sürekli dışarı aktarmaların en uzun gecikme süresi (dakika cinsinden). Bu, kümedeki tüm sürekli dışarı aktarma işlerinin şu an ile en düşük ExportedTo zamanı arasındaki süredir. Daha fazla bilgi için bkz .show continuous export . komut.
  • Continuous export result - Her bir sürekli dışarı aktarma yürütmesinin başarılı/başarısız sonucu. Bu ölçüm, sürekli dışarı aktarma adına göre bölünebilir.

.show continuous export failures Sürekli dışarı aktarma işinin belirli hatalarını görmek için komutunu kullanın.

Uyarı

Kalıcı bir hata nedeniyle sürekli dışarı aktarma işlemi 7 günden fazla başarısız olursa, dışarı aktarma sistem tarafından otomatik olarak devre dışı bırakılır. Kalıcı hatalar şunlardır: dış tablo bulunamadı, sürekli dışarı aktarma sorgusu şeması ile dış tablo şeması arasındaki uyumsuzluk, depolama hesabına erişilemiyor. Hata düzeltildikten sonra komutunu kullanarak sürekli dışarı aktarmayı .enable continuous export yeniden etkinleştirebilirsiniz.

Kaynak kullanımı

  • Sürekli dışarı aktarmanın küme üzerindeki etkisi, sürekli dışarı aktarmanın çalıştırılan sorgusuna bağlıdır. CPU ve bellek gibi kaynakların çoğu sorgu yürütmesi tarafından kullanılır.
  • Eşzamanlı olarak çalışabilen dışarı aktarma işlemlerinin sayısı kümenin veri dışarı aktarma kapasitesiyle sınırlıdır. Daha fazla bilgi için bkz. Yönetim komutlarını azaltma. Kümenin tüm sürekli dışarı aktarmaları işlemek için yeterli kapasitesi yoksa, bazıları geride kalacaktır.
  • Show commands-and-queries komutu , kaynak tüketimini tahmin etmek için kullanılabilir.
    • Sürekli dışarı aktarma ile ilişkili komutları ve sorguları görüntülemek için filtreleyin | where ClientActivityId startswith "RunContinuousExports" .

Geçmiş verileri dışarı aktarma

Sürekli dışarı aktarma, verileri yalnızca oluşturulduğu noktadan dışarı aktarmaya başlar. Bu süreden önce alınan kayıtlar, sürekli olmayan dışarı aktarma komutu kullanılarak ayrı olarak dışarı aktarılmalıdır. Geçmiş verileri tek bir dışarı aktarma komutunda dışarı aktarılamayacak kadar büyük olabilir. Gerekirse, sorguyu birkaç küçük toplu iş halinde bölümleyin.

Sürekli dışarı aktarma tarafından dışarı aktarılan verilerin yinelenmemesi için, StartCursorsürekli dışarı aktarmayı göster komutu tarafından döndürülen ve dışarı aktarma yalnızca imleç değerini kaydeder where cursor_before_or_at . Örnek:

.show continuous-export MyExport | project StartCursor
StartCursor
636751928823156645

Ardından:

.export async to table ExternalBlob
<| T | where cursor_before_or_at("636751928823156645")

Satır Düzeyi Güvenlik içeren bir tablodan sürekli dışarı aktarma

Satır Düzeyi Güvenlik ilkesine sahip bir tabloya başvuran bir sorguyla sürekli dışarı aktarma işi oluşturmak için şunları yapın:

Delta tablosuna sürekli dışarı aktarma - Önizleme

Delta tablosuna sürekli dışarı aktarma şu anda önizleme aşamasındadır.

Önemli

Delta tablosu bölümleme sürekli veri dışarı aktarmada desteklenmez.

Delta protokolü yazıcı sürümü 1'den yüksekse Kusto mevcut delta tablolarına yazmaz.

Delta tablosuna sürekli dışarı aktarmayı tanımlamak için aşağıdaki adımları uygulayın:

  1. Azure Depolama'da delta dış tabloları oluşturma ve değiştirme başlığında açıklandığı gibi bir dış delta tablosu oluşturun.

    Not

    Şema sağlanmazsa Kusto, hedef depolama kapsayıcısında zaten tanımlanmış bir delta tablosu varsa otomatik olarak çıkarım yapmayı dener.
    Delta tablosu bölümleme desteklenmez.

  2. Sürekli dışarı aktarma oluşturma veya değiştirme başlığında açıklanan komutları kullanarak bu tabloya sürekli dışarı aktarmayı tanımlayın.

    Önemli

    Delta tablosunun şeması sürekli dışarı aktarma sorgusuyla eşitlenmiş olmalıdır. Temel delta tablosu değişirse dışarı aktarma işlemi beklenmeyen davranışla başarısız olabilir.

Sınırlamalar

Genel:

Veritabanları ve kümeler arası:

  • Sürekli dışarı aktarma, kümeler arası çağrıları desteklemez.
  • Sürekli dışarı aktarma yalnızca boyut tabloları için veritabanları arası çağrıları destekler. Tüm olgu tabloları yerel veritabanında bulunmalıdır. Olgu ve boyut tablolarından dışarı aktarma makalesindeki diğer ayrıntılara bakın.
  • Sürekli dışarı aktarma veritabanları arası çağrılar içeriyorsa, yönetilen kimlikle yapılandırılması gerekir.

İlkeler: