Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ö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
- Klasik işlem oluşturma izniniz var.
- Databricks Runtime 17.1 veya üzeri (gerçek zamanlı modda
displayişlevini kullanmak için gereklidir).
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:
Azure Databricks çalışma alanınızda kenar çubuğunda İşlem'e tıklayın.
İşlem oluştur'a tıklayın.
Bir ad girin.
Databricks Runtime 17.1 veya üzerini seçin.
Foton hızlandırmayı temizle (gerçek zamanlı mod Foton'u desteklemez).
Otomatik ölçeklendirmeyi etkinleştir seçeneğini temizleyin (gerçek zamanlı mod sabit bir küme boyutu gerektirir).
Gelişmiş performans'ın altında Spot örnekleri kullan (spot örnekler kesintilere neden olabilir) seçeneğinin işaretini kaldırın.
Ek ayarları genişletmek için Gelişmiş seçenekler'e tıklayın.
Erişim modu altındaAyrılmış (eski adı: Tek kullanıcı) seçeneğini belirleyin.
Spark yapılandırması altında aşağıdaki yapılandırmayı ekleyin:
spark.databricks.streaming.realTimeMode.enabled trueİş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:
- Kenar çubuğunda Yeni'ye ve ardından Not Defteri'ne tıklayın.
- Hesaplama açılır menüsünden, adım 1’de oluşturduğunuz hesaplamayı seçin.
- 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
realTimeetkinleştirme -
displayEtkileş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
transformWithStatekullanın