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.
Lakeflow pipeline’larının Python arabirimi, pyspark.pipelines modülünde tanımlanır ve dp olarak içe aktarılır.
- Kavramsal bilgiler ve işlem hatları için Python kullanımına genel bakış için bkz. Python ile işlem hattı kodu geliştirme.
- SQL başvurusu için İşlem hattı SQL dil başvurusu bölümüne bakın.
- Otomatik Yükleyici'yi yapılandırmaya özgü ayrıntılar için bkz. Otomatik Yükleyici nedir?.
pipelines modüle genel bakış
Lakeflow işlem hattı Python fonksiyonları, pyspark.pipelines modülünde tanımlanır (dp olarak içe aktarılır). Python API'si ile uygulanan işlem hatlarınızın şu modülü içeri aktarması gerekir:
from pyspark import pipelines as dp
Uyarı
İşlem hatları modülü yalnızca işlem hattı bağlamında kullanılabilir. İşlem hatlarının dışında çalışan Python'da kullanılamaz. İşlem hattı kodunu düzenleme hakkında daha fazla bilgi için bkz. Lakeflow Pipelines Düzenleyicisi ile ETL işlem hatları geliştirme ve hatalarını ayıklama.
Apache Spark™ işlem hatları
Apache Spark, modül aracılığıyla kullanılabilen Spark 4.1'de başlayan bildirim temelli işlem hatlarınıpyspark.pipelines içerir. Databricks Runtime, bu açık kaynak özelliklerini yönetilen üretim kullanımı için ek API'ler ve tümleştirmelerle genişletir.
Açık kaynak pipelines modülüyle yazılan kod, Azure Databricks'te değişiklik yapılmadan çalıştırılır. Aşağıdaki özellikler Apache Spark'ın bir parçası değildir:
dp.create_auto_cdc_flowdp.create_auto_cdc_from_snapshot_flow@dp.expect(...)
Bu pipelines modülü daha önce Azure Databricks'te dlt olarak adlandırılıyordu. tr-TR: Detaylar ve Apache Spark ile olan farklar hakkında daha fazla bilgi için Ne oldu? @dlt bölümüne bakın.
Veri kümesi tanımları için işlevler
İşlem boru hatları, materyalize edilmiş görünümler ve akış tabloları gibi veri kümelerini tanımlamak için Python dekoratörlerini kullanır. Bkz. Veri kümelerini tanımlamak için işlevler.
API referansı
- append_flow
- create_auto_cdc_flow
- create_auto_cdc_from_snapshot_flow
- create_sink
- create_streaming_table
- Beklentiler
- foreach_batch_sink
- materialized_view (maddileştirilmiş görünüm)
- table
- temporary_view
- update_flow
Python işlem hatları için kodlama gereksinimleri
Lakeflow işlem hatları Python arabirimiyle işlem hatlarını uygularken aşağıdaki önemli gereksinimler şunlardır:
- Lakeflow işlem hatları, planlama ve işlem hattı çalıştırmaları sırasında bir işlem hattını birden çok kez tanımlayan kodu değerlendirir. Veri kümelerini tanımlayan Python işlevleri yalnızca tabloyu veya görünümü tanımlamak için gereken kodu içermelidir. Veri kümesi tanımlarına eklenen rastgele Python mantığı beklenmeyen davranışlara yol açabilir.
- Veri kümesi tanımlarınızda özel izleme mantığı uygulamayı denemeyin. Bkz. Olay kancalarıyla işlem hatlarının özel izlemesini tanımlama.
- Veri kümesini tanımlamak için kullanılan işlevin Spark DataFrame döndürmesi gerekir. Veri kümesi tanımlarınıza döndürülen Bir DataFrame ile ilgili olmayan mantık eklemeyin.
- İşlem hattı veri kümesi kodunuzun bir parçası olarak dosyaları veya tabloları kaydeden veya bu tablolara yazan yöntemleri asla kullanmayın.
İşlem hattı kodunda hiçbir zaman kullanılmaması gereken Apache Spark işlemleri örnekleri:
collect()count()toPandas()save()saveAsTable()start()toTable()
Ne oldu?@dlt
Daha önce Azure Databricks, işlem hattı işlevselliğini desteklemek için modülünü dlt kullanıyordu. Modülün dlt yerini modül almıştır pyspark.pipelines . kullanmaya devam dltedebilirsiniz, ancak Databricks kullanılmasını pipelinesönerir.
DLT, Lakeflow işlem hatları ve Apache Spark Bildirimli İşlem Hatları arasındaki farklar
Aşağıdaki tabloda DLT, Lakeflow işlem hatları ve Apache Spark Bildirimli İşlem Hatları arasındaki söz dizimi ve işlevsellik farklılıkları gösterilmektedir.
Lakeflow işlem hatlarının Apache Spark Bildirimli İşlem Hatları ile ortak yönlerinin ve buna ek olarak sunduklarının özellik düzeyindeki karşılaştırması için bkz. Apache Spark Bildirimli İşlem Hatları.
İşlem hattı yapılandırmasının SDP proje spesifikasyonuyla özellik bazında eşleştirilmesi için bkz: İşlem hattı özellikleri başvurusu.
Uyarı
Databricks belgelerinde Databricks ürününe Lakeflow işlem hatları ve genişletilen açık kaynak çerçevesi ise Apache Spark™ Bildirimli İşlem Hatları (SDP) olarak adlandırılır. bu ikisi birlikte çalışabilir ancak özellikler bakımından AUTO CDC farklıdır; örneğin, API'ler yalnızca Lakeflow işlem hatlarında kullanılabilir.
| Area | DLT söz dizimi | SDP Söz Dizimi (Lakeflow ve Apache, uygun olduğunda) | Apache Spark'ta kullanılabilir |
|---|---|---|---|
| İçeri aktarmalar | import dlt |
from pyspark import pipelines (as dpisteğe bağlı olarak) |
Yes |
| Akış tablosu |
@dlt.table akış veri çerçevesi ile |
@dp.table |
Yes |
| Gerçekleştirilmiş görünüm |
@dlt.table toplu veri çerçevesi ile |
@dp.materialized_view |
Yes |
| View | @dlt.view |
@dp.temporary_view |
Yes |
| Veri ekleme akışı | @dlt.append_flow |
@dp.append_flow |
Yes |
| Akışı güncelle | Unavailable | @dp.update_flow |
Hayı |
| SQL – akış | CREATE STREAMING TABLE ... |
CREATE STREAMING TABLE ... |
Yes |
| SQL – maddileştirilmiş | CREATE MATERIALIZED VIEW ... |
CREATE MATERIALIZED VIEW ... |
Yes |
| SQL – veri akışı | CREATE FLOW ... |
CREATE FLOW ... |
Yes |
| Olay günlüğü | spark.read.table("event_log") |
spark.read.table("event_log") |
Hayı |
| Değişiklikleri Uygula (CDC) | dlt.apply_changes(...) |
dp.create_auto_cdc_flow(...) |
Hayı |
| Expectations | @dlt.expect(...) |
dp.expect(...) |
Hayı |
| Sürekli mod | Sürekli tetikleyicili işlem hattı konfigürasyonu | (aynı) | Hayı |
| Lavabo | @dlt.create_sink(...) |
dp.create_sink(...) |
Yes |
| ForEachBatch havuzu | Unavailable | @dp.foreach_batch_sink(...) |
Hayı |