Aracılığıyla paylaş


Gerçek zamanlı modu kullanmaya başlama

Önemli

Bu özellik Genel Önizleme aşamasındadır.

Gerçek zamanlı mod, uçtan uca gecikme süresi beş milisaniyeye kadar düşük olan ultra düşük gecikme süresine olanak tanır ve sahtekarlık algılama ve gerçek zamanlı kişiselleştirme gibi operasyonel iş yükleri için idealdir. Bu öğretici, basit bir örnek kullanarak ilk gerçek zamanlı akış sorgunuzu ayarlama konusunda size yol gösterir.

Gerçek zamanlı mod, ne zaman kullanılacağı ve desteklenen özellikler hakkında kavramsal bilgi için bkz. Yapılandırılmış Akış'ta gerçek zamanlı mod.

Gereksinimler

Uyarı

Klasik işlem oluşturma ayrıcalıklarınız yoksa, 1. Adım'daki yapılandırmayı kullanarak sizin için gerçek zamanlı mod kümesi oluşturmak için çalışma alanı yöneticinize başvurun.

1. Adım: Gerçek zamanlı mod için klasik işlem oluşturma

Gerçek zamanlı mod, ultra düşük gecikme süresi elde etmek için belirli bir klasik işlem yapılandırması gerektirir. Bu ayarlar, görevlerin tüm aşamalarda aynı anda çalışmasını ve verilerin toplu olarak değil, geldikçe sürekli olarak işlenmesini sağlar.

Düzgün yapılandırılmış bir klasik hesaplama oluşturmak için:

  1. Azure Databricks çalışma alanınızda kenar çubuğunda İşlem'e tıklayın.

  2. İşlem oluştur'a tıklayın.

  3. Bir ad girin.

  4. Databricks Runtime 17.1 veya üzerini seçin.

  5. Foton hızlandırmayı temizle (gerçek zamanlı mod Foton'u desteklemez).

  6. Otomatik ölçeklendirmeyi etkinleştir seçeneğini temizleyin (gerçek zamanlı mod sabit bir küme boyutu gerektirir).

  7. Gelişmiş performans'ın altında Spot örnekleri kullan (spot örnekler kesintilere neden olabilir) seçeneğinin işaretini kaldırın.

  8. Ek ayarları genişletmek için Gelişmiş seçenekler'e tıklayın.

  9. Erişim modu altındaAyrılmış (eski adı: Tek kullanıcı) seçeneğini belirleyin.

  10. Spark yapılandırması altında aşağıdaki yapılandırmayı ekleyin:

    spark.databricks.streaming.realTimeMode.enabled true
    
  11. İşlem oluştur'a tıklayın.

2. Adım: Not defteri oluşturma

Not defterleri, akış sorguları geliştirmeye ve test etmeye yönelik etkileşimli bir ortam sağlar. Gerçek zamanlı sorgunuzu yazmak ve sonuçların sürekli güncelleştirildiğini görmek için bu not defterini kullanırsınız.

Not defteri oluşturmak için:

  1. Kenar çubuğunda Yeni'ye ve ardından Not Defteri'ne tıklayın.
  2. Hesaplama açılır menüsünden, adım 1’de oluşturduğunuz hesaplamayı seçin.
  3. Varsayılan dil olarak Python veya Scala'ı seçin.

3. Adım: Gerçek zamanlı mod sorgusu çalıştırma

Aşağıdaki kodu kopyalayıp not defteri hücresine yapıştırın ve çalıştırın. Bu örnek, belirtilen hızda satırlar oluşturan ve sonuçları gerçek zamanlı olarak görüntüleyen bir hız kaynağı kullanır.

Uyarı

display Tetikleyicili realTime işlev Databricks Runtime 17.1 ve üzerinde kullanılabilir.

Python

inputDF = (
  spark
  .readStream
  .format("rate")
  .option("numPartitions", 2)
  .option("rowsPerSecond", 1)
  .load()
)
display(inputDF, realTime="5 minutes", outputMode="update")

Scala

import org.apache.spark.sql.streaming.Trigger
import org.apache.spark.sql.streaming.OutputMode

val inputDF = spark
  .readStream
  .format("rate")
  .option("numPartitions", 2)
  .option("rowsPerSecond", 1)
  .load()
display(inputDF, trigger=Trigger.RealTime(), outputMode=OutputMode.Update())

Kodu çalıştırdıktan sonra, yeni satırlar oluşturulduktan sonra gerçek zamanlı olarak güncelleştirilen bir tablo görürsünüz. Tabloda bir timestamp sütunu ve her satırla birlikte artan bir value sütunu görüntülenir.

Kodu anlama

Yukarıdaki kod, gerçek zamanlı akış sorgusunun temel bileşenlerini gösterir. Aşağıdaki tablolarda anahtar parametreler ve bunların neleri denetledikleri açıklanmaktadır:

Python

Parametre Açıklama
format("rate") Yapılandırılabilir bir hızda satır oluşturan yerleşik bir kaynak olan hız kaynağını kullanır. Bu, dış bağımlılıklar olmadan test için yararlıdır.
numPartitions Oluşturulan veriler için bölüm sayısını ayarlar.
rowsPerSecond Saniyede kaç satır oluşturulduğunu denetler.
realTime="5 minutes" Gerçek zamanlı modu etkinleştirir. Aralık, sorgu denetim noktalarının ilerleme sıklıklarını belirtir. Daha uzun aralıklar, daha az sıklıkta denetim noktası oluşturma anlamına gelir, ancak hatalardan sonra kurtarma süreleri daha uzun olabilir.
outputMode="update" Gerçek zamanlı mod için güncelleştirme çıkış modu gerekir.

Scala

Parametre Açıklama
format("rate") Yapılandırılabilir bir hızda satır oluşturan yerleşik bir kaynak olan hız kaynağını kullanır. Bu, dış bağımlılıklar olmadan test için yararlıdır.
numPartitions Oluşturulan veriler için bölüm sayısını ayarlar.
rowsPerSecond Saniyede kaç satır oluşturulduğunu denetler.
Trigger.RealTime() Varsayılan denetim noktası aralığıyla gerçek zamanlı modu etkinleştirir. Ayrıca, örneğin Trigger.RealTime("5 minutes")bir aralık belirtebilirsiniz.
OutputMode.Update() Gerçek zamanlı mod için güncelleştirme çıkış modu gerekir.

Gördüğünüz şey

Sorguyu çalıştırdığınızda display işlev, hız kaynağı yeni satırlar oluşturduğundan gerçek zamanlı olarak güncelleştirilen bir tablo oluşturur. Her satırda aşağıdakiler bulunur:

  • zaman damgası: Satırın oran kaynağı tarafından oluşturulma zamanı
  • değer: Her yeni satırla birlikte artan monoton artan sayaç

Tablo, en düşük gecikme süresiyle sürekli olarak güncelleştirilir ve gerçek zamanlı modun kullanılabilir duruma gelir gelmez verileri nasıl işlediğini gösterir. Bu, gerçek zamanlı modun temel avantajıdır. Toplu işlemeyi beklemek yerine verileri hemen görme ve üzerinde işlem yapma olanağı.

Öğrendiklerin

İlk gerçek zamanlı akış sorgunuzu başarıyla ayarladınız ve çalıştırdunuz. Artık nasıl yapılacağını biliyorsunuz:

  • Gerçek zamanlı mod için gerekli ayarlarla klasik işlemi yapılandırma (ayrılmış küme, Foton devre dışı, otomatik ölçeklendirme devre dışı, Spark yapılandırması)
  • Tetikleyiciyi kullanarak gerçek zamanlı işlemeyi realTime etkinleştirme
  • display Etkileşimli geliştirme ve test için işlevini kullanma
  • Sürekli güncelleştirmeleri gözlemleyerek sorgunuzun gerçek zamanlı modda çalıştığını doğrulayın

Kafka, Kinesis ve desteklenen diğer kaynaklarla üretim gerçek zamanlı işlem hatları oluşturmaya hazırsınız. Yapılandırılmış Akış hakkında daha fazla bilgi edinmek için bkz. Yapılandırılmış Akış kavramları.

Sonraki Adımlar

İlk gerçek zamanlı sorgunuzu çalıştırdığınıza göre üretim akışı uygulamaları oluşturmak için şu kaynakları inceleyin:

  • Gerçek zamanlı mod örnekleri - Kafka kaynakları ve havuzları, durum bilgisi olan sorgular, toplamalar ve özel havuzlar için çalışma kodu örnekleri
  • Gerçek zamanlı mod başvurusu - Küme boyutlandırma, desteklenen işleçler, izleme ve özellik sınırlamaları hakkında bilgi edinin
  • Durumlu akış uygulamaları - Yinelenenleri kaldırma, toplamalar ve pencereleme işlemleri için akış sorgularınıza durum yönetimi eklemek
  • Gelişmiş durum yönetimi - Yaşam süresi (TTL) ile özel durum bilgisi işlemeyi ve karmaşık mantığı özelleştirmek için transformWithState kullanın