Aracılığıyla paylaş


Gerçek zamanlı özellik sunma için çevrimiçi tabloları kullanma

Önemli

Çevrimiçi Tablolar genel önizleme aşamasındadır. Önizleme sırasında Verileri Çevrimiçi Tablolar'a almak SQL Sunucusuz DBU'ları kullanır. Çevrimiçi Tablolar için son fiyatlandırma gelecekteki bir tarihte kullanıma sunulacaktır.

Çevrimiçi Tablolar Önizlemesi şu bölgelerde kullanılabilir: westus, eastus, eastus2, northeurope, . westeurope

Çevrimiçi tablo, çevrimiçi erişim için iyileştirilmiş satır odaklı biçimde depolanan delta tablosunun salt okunur bir kopyasıdır. Çevrimiçi tablolar, istek yüküyle aktarım hızı kapasitesini otomatik olarak ölçeklendirin ve herhangi bir ölçekteki verilere düşük gecikme süresi ve yüksek aktarım hızı erişimi sağlayan tam sunucusuz tablolardır. Çevrimiçi tablolar Databricks Model Sunma, Özellik Sunma ve hızlı veri aramaları için kullanılan alma artırılmış nesil (RAG) uygulamalarıyla çalışacak şekilde tasarlanmıştır.

Lakehouse Federation kullanarak sorgularda çevrimiçi tabloları da kullanabilirsiniz. Lakehouse Federation kullanırken, çevrimiçi tablolara erişmek için Sunucusuz SQL ambarı kullanmanız gerekir. Yalnızca okuma işlemleri (SELECT) desteklenir. Bu özellik yalnızca etkileşimli veya hata ayıklama amacıyla tasarlanmıştır ve üretim veya görev açısından kritik iş yükleri için kullanılmamalıdır.

Databricks kullanıcı arabirimini kullanarak çevrimiçi tablo oluşturmak tek adımlı bir işlemdir. Katalog Gezgini'nde Delta tablosunu seçin ve Çevrimiçi tablo oluştur'u seçin. Çevrimiçi tablolar oluşturmak ve yönetmek için REST API veya Databricks SDK'sını da kullanabilirsiniz. Bkz . API'leri kullanarak çevrimiçi tablolarla çalışma.

Gereksinimler

Kullanıcı arabirimini kullanarak çevrimiçi tablolarla çalışma

Bu bölümde, çevrimiçi tabloların nasıl oluşturulacağı ve silineceği ve çevrimiçi tabloların durumunun nasıl denetleneceği ve güncelleştirmelerin nasıl tetikleyeceği açıklanır.

Kullanıcı arabirimini kullanarak çevrimiçi tablo oluşturma

Katalog Gezgini'nin kullanıldığı bir çevrimiçi tablo oluşturursunuz. Gerekli izinler hakkında bilgi için bkz . Kullanıcı izinleri.

  1. Çevrimiçi tablo oluşturmak için kaynak Delta tablosunun birincil anahtarı olmalıdır. Kullanmak istediğiniz Delta tablosunun birincil anahtarı yoksa, şu yönergeleri izleyerek bir tane oluşturun: Unity Kataloğu'nda var olan bir Delta tablosunu özellik tablosu olarak kullanma.

  2. Katalog Gezgini'nde, çevrimiçi bir tabloyla eşitlemek istediğiniz kaynak tabloya gidin. Oluştur menüsünde Çevrimiçi tablo'ya tıklayın.

    çevrimiçi tablo oluştur'u seçin

  3. Çevrimiçi tabloyu yapılandırmak için iletişim kutusundaki seçicileri kullanın.

    çevrimiçi tablo yapılandırma iletişim kutusu

    Ad: Unity Kataloğu'ndaki çevrimiçi tablo için kullanılacak ad.

    Birincil Anahtar: Çevrimiçi tabloda birincil anahtar olarak kullanılacak kaynak tablodaki sütun(lar).

    Timeseries Anahtarı: (İsteğe bağlı). Kaynak tablodaki zaman çizelgeleri anahtarı olarak kullanılacak sütun. Belirtildiğinde, çevrimiçi tablo yalnızca her birincil anahtar için en son zaman çizelgeleri anahtar değerine sahip satırı içerir.

    Eşitleme modu: Eşitleme işlem hattının çevrimiçi tabloyu nasıl güncelleştiren olduğunu belirtir. Anlık Görüntü, Tetiklenen veya Sürekli'yi seçin.

    İlke Açıklama
    Snapshot İşlem hattı bir kez çalıştırılarak kaynak tablonun anlık görüntüsünü alır ve çevrimiçi tabloya kopyalar. Kaynak tabloda yapılan sonraki değişiklikler, kaynağın yeni bir anlık görüntüsü alınarak ve yeni bir kopya oluşturularak otomatik olarak çevrimiçi tabloya yansıtılır. Çevrimiçi tablonun içeriği atomik olarak güncelleştirilir.
    Tetiklenmiş İşlem hattı, çevrimiçi tabloda kaynak tablonun ilk anlık görüntü kopyasını oluşturmak için bir kez çalışır. Anlık görüntü eşitleme modundan farklı olarak, çevrimiçi tablo yenilendiğinde yalnızca son işlem hattı yürütmesi alındığından ve çevrimiçi tabloya uygulandığından bu yana değişir. Artımlı yenileme, bir zamanlamaya göre el ile tetiklenebilir veya otomatik olarak tetiklenebilir.
    Sürekli İşlem hattı sürekli çalışır. Kaynak tabloda yapılan sonraki değişiklikler, çevrimiçi tabloya gerçek zamanlı akış modunda artımlı olarak uygulanır. El ile yenileme gerekmez.

Not

Tetiklenen veya Sürekli eşitleme modunu desteklemek için kaynak tabloda Değişiklik veri akışı etkinleştirilmiş olmalıdır.

  1. İşiniz bittiğinde Onayla'ya tıklayın. Çevrimiçi tablo sayfası görüntülenir.
  2. Yeni çevrimiçi tablo, oluşturma iletişim kutusunda belirtilen katalog, şema ve ad altında oluşturulur. Katalog Gezgini'nde, çevrimiçi tablo ile çevrimiçi tablo simgesigösterilir.

Kullanıcı arabirimini kullanarak durum alma ve güncelleştirmeleri tetikleme

Çevrimiçi tablonun durumunu denetlemek için Katalog'da tablonun adına tıklayarak açın. Genel Bakış sekmesi açık olarak çevrimiçi tablo sayfası görüntülenir. Veri Alma bölümü en son güncelleştirmenin durumunu gösterir. Bir güncelleştirmeyi tetikleme için Şimdi eşitle'ye tıklayın. Veri Alma bölümü, tabloyu güncelleştiren Delta Live Tables işlem hattına bir bağlantı da içerir.

katalogdaki çevrimiçi tablo sayfasının görünümü

Kullanıcı arabirimini kullanarak çevrimiçi tablo silme

Çevrimiçi tablo sayfasından kebap menüsünde Sil'iKebap menüsü seçin.

API'leri kullanarak çevrimiçi tablolarla çalışma

Çevrimiçi tablolar oluşturmak ve yönetmek için Databricks SDK'sını veya REST API'yi de kullanabilirsiniz.

Başvuru bilgileri için Python için Databricks SDK'sının veya REST API'sinin başvuru belgelerine bakın.

Gereksinimler

Databricks SDK sürüm 0.20 veya üzeri.

API'leri kullanarak çevrimiçi tablo oluşturma

Databricks sdk - python

from pprint import pprint
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.catalog import *

w = WorkspaceClient(host='https://xxx.databricks.com', token='xxx')

# Create an online table
spec = OnlineTableSpec(
  primary_key_columns=["pk_col"],
  source_table_full_name="main.default.source_table",
  run_triggered=OnlineTableSpecTriggeredSchedulingPolicy.from_dict({'triggered': 'true'})
)

w.online_tables.create(name='main.default.my_online_table', spec=spec)

Rest API

curl --request POST "https://xxx.databricks.com/api/2.0/online-tables" \
--header "Authorization: Bearer xxx" \
--data '{
    "name": "main.default.my_online_table",
    "spec": {
        "run_triggered": {},
        "source_table_full_name": "main.default.source_table",
        "primary_key_columns": ["a"]
    }
  }'

Çevrimiçi tablo oluşturulduktan sonra otomatik olarak eşitlenir.

API'leri kullanarak durum alma ve yenilemeyi tetikleme

Aşağıdaki örneği izleyerek çevrimiçi tablonun durumunu ve belirtimini görüntüleyebilirsiniz. Çevrimiçi tablonuz sürekli değilse ve verilerinin el ile yenilenmesini tetiklemek istiyorsanız, bunu yapmak için işlem hattı API'sini kullanabilirsiniz.

Çevrimiçi tablo belirtimindeki çevrimiçi tabloyla ilişkilendirilmiş işlem hattı kimliğini kullanın ve yenilemeyi tetiklemek için işlem hattında yeni bir güncelleştirme başlatın. Bu, Katalog Gezgini'ndeki çevrimiçi tablo kullanıcı arabiriminde Şimdi eşitle'ye tıklamaya eşdeğerdir.

Databricks sdk - python

pprint(w.online_tables.get('main.default.my_online_table'))

# Sample response
OnlineTable(name='main.default.my_online_table',
    spec=OnlineTableSpec(perform_full_copy=None,
        pipeline_id='some-pipeline-id',
        primary_key_columns=['pk_col'],
        run_continuously=None,
        run_triggered={},
        source_table_full_name='main.default.source_table',
        timeseries_key=None),
    status=OnlineTableStatus(continuous_update_status=None,
        detailed_state=OnlineTableState.PROVISIONING,
        failed_status=None,
        message='Online Table creation is '
            'pending. Check latest status in '
            'Delta Live Tables: '
            'https://xxx.databricks.com/pipelines/some-pipeline-id',
        provisioning_status=None,
        triggered_update_status=None))

# Trigger an online table refresh by calling the pipeline API. To discard all existing data
# in the online table before refreshing, set "full_refresh" to "True". This is useful if your
# online table sync is stuck due to, for example, the source table being deleted and recreated
# with the same name while the sync was running.
w.pipelines.start_update(pipeline_id='some-pipeline-id', full_refresh=True)

Rest API

curl --request GET \
  "https://xxx.databricks.com/api/2.0/online-tables/main.default.my_online_table" \
  --header "Authorization: Bearer xxx"

# Sample response
{
  "name": "main.default.my_online_table",
  "spec": {
    "run_triggered": {},
    "source_table_full_name": "main.default.source_table",
    "primary_key_columns": ["pk_col"],
    "pipeline_id": "some-pipeline-id"
  },
  "status": {
    "detailed_state": "PROVISIONING",
    "message": "Online Table creation is pending. Check latest status in Delta Live Tables: https://xxx.databricks.com#joblist/pipelines/some-pipeline-id"
  }
}

# Trigger an online table refresh by calling the pipeline API. To discard all existing data
# in the online table before refreshing, set "full_refresh" to "True". This is useful if your
# online table sync is stuck due to, for example, the source table being deleted and recreated
# with the same name while the sync was running.
curl --request POST "https://xxx.databricks.com/api/2.0/pipelines/some-pipeline-id/updates" \
  --header "Authorization: Bearer xxx" \
  --data '{
    "full_refresh": true
  }'

API'leri kullanarak çevrimiçi tablo silme

Databricks sdk - python

w.online_tables.delete('main.default.my_online_table')

Rest API

curl --request DELETE \
  "https://xxx.databricks.com/api/2.0/online-tables/main.default.my_online_table" \
  --header "Authorization: Bearer xxx"

Çevrimiçi tablonun silinmesi, devam eden veri eşitlemelerini durdurur ve tüm kaynaklarını serbest bırakır.

Uç nokta sunan bir özellik kullanarak çevrimiçi tablo verilerini sunma

Databricks dışında barındırılan modeller ve uygulamalar için, çevrimiçi tablolardan özellikler sunmak için uç noktaya hizmet veren bir özellik oluşturabilirsiniz. Uç nokta, rest API kullanarak özellikleri düşük gecikme süresiyle kullanılabilir hale getirir.

  1. Özellik belirtimi oluşturun.

    Özellik belirtimi oluşturduğunuzda kaynak Delta tablosunu belirtirsiniz. Bu özellik belirtiminin hem çevrimdışı hem de çevrimiçi senaryolarda kullanılmasını sağlar. Çevrimiçi aramalarda, sunum uç noktası düşük gecikme süreli özellik aramaları gerçekleştirmek için otomatik olarak çevrimiçi tabloyu kullanır.

    Kaynak Delta tablosu ve çevrimiçi tablo aynı birincil anahtarı kullanmalıdır.

    Özellik belirtimi, Katalog Gezgini'ndeki İşlev sekmesinde görüntülenebilir.

    from databricks.feature_engineering import FeatureEngineeringClient, FeatureLookup
    
    fe = FeatureEngineeringClient()
    fe.create_feature_spec(
      name="catalog.default.user_preferences_spec",
      features=[
        FeatureLookup(
          table_name="user_preferences",
          lookup_key="user_id"
        )
      ]
    )
    
  2. Uç noktaya hizmet veren bir özellik oluşturun.

    Bu adımda, Delta tablosundan verileri eşitleyen adlı user_preferences_online_table bir çevrimiçi tablo user_preferencesoluşturduğunuz varsayılır. Özellik sunma uç noktası oluşturmak için özellik belirtimini kullanın. Uç nokta, ilişkili çevrimiçi tabloyu kullanarak verileri REST API aracılığıyla kullanılabilir hale getirir.

    Not

    Bu işlemi gerçekleştiren kullanıcının hem çevrimdışı tablonun hem de çevrimiçi tablonun sahibi olması gerekir.

    Databricks sdk - python

    from databricks.sdk import WorkspaceClient
    from databricks.sdk.service.serving import EndpointCoreConfigInput, ServedEntityInput
    
    workspace = WorkspaceClient()
    
    # Create endpoint
    endpoint_name = "fse-location"
    
    workspace.serving_endpoints.create_and_wait(
      name=endpoint_name,
      config=EndpointCoreConfigInput(
        served_entities=[
          ServedEntityInput(
            entity_name=feature_spec_name,
            scale_to_zero_enabled=True,
            workload_size="Small"
          )
        ]
      )
    )
    

    Python api'si

    fe.create_feature_serving_endpoint(
      name="user-preferences",
      config=EndpointCoreConfig(
        served_entities=ServedEntity(
          feature_spec_name="catalog.default.user_preferences_spec",
          workload_size="Small",
          scale_to_zero_enabled=True
        )
      )
    )
    
  3. Özellik sunma uç noktasından veri alın.

    API uç noktasına erişmek için uç nokta URL'sine bir HTTP GET isteği gönderin. Örnekte Python API'lerini kullanarak bunu nasıl yapacağınız gösterilmektedir. Diğer diller ve araçlar için bkz . Özellik Sunma.

    # Set up credentials
    export DATABRICKS_TOKEN=...
    
    url = "https://{workspace_url}/serving-endpoints/user-preferences/invocations"
    
    headers = {'Authorization': f'Bearer {DATABRICKS_TOKEN}', 'Content-Type': 'application/json'}
    
    data = {
      "dataframe_records": [{"user_id": user_id}]
    }
    data_json = json.dumps(data, allow_nan=True)
    
    response = requests.request(method='POST', headers=headers, url=url, data=data_json)
    if response.status_code != 200:
      raise Exception(f'Request failed with status {response.status_code}, {response.text}')
    
    print(response.json()['outputs'][0]['hotel_preference'])
    

RAG uygulamalarıyla çevrimiçi tablolar kullanma

RAG uygulamaları, çevrimiçi tablolar için yaygın bir kullanım örneğidir. RAG uygulamasının ihtiyaç duyduğu yapılandırılmış veriler için çevrimiçi bir tablo oluşturur ve bunu uç noktaya hizmet veren bir özellikte barındırırsınız. RAG uygulaması, çevrimiçi tablodan ilgili verileri aramak için uç noktayı sunan özelliği kullanır.

Tipik adımlar şunlardır:

  1. Uç noktaya hizmet veren bir özellik oluşturun.
  2. İlgili verileri aramak için uç noktayı kullanan bir LangChainTool oluşturun.
  3. İlgili verileri almak için LangChain aracısında aracını kullanın.
  4. LangChain uygulamasını barındırmak için uç noktaya hizmet veren bir model oluşturun.

Adım adım yönergeler için aşağıdaki örnek not defterine bakın.

Not defteri örnekleri

Aşağıdaki not defterinde, gerçek zamanlı sunum ve otomatik özellik araması için çevrimiçi tablolarda özelliklerin nasıl yayımlanması gösterilmektedir.

Çevrimiçi tablolar tanıtım not defteri

Not defterini alma

Aşağıdaki not defterinde Databricks çevrimiçi tablolarının nasıl kullanılacağı ve artırılmış nesil (RAG) uygulamaları için uç noktalar sunan özelliklerin nasıl kullanılacağı gösterilmektedir.

RAG uygulamaları demo not defteri ile çevrimiçi tablolar

Not defterini alma

Databricks Model Sunma ile çevrimiçi tabloları kullanma

Databricks Model Sunma özelliklerini aramak için çevrimiçi tabloları kullanabilirsiniz. Bir özellik tablosunu çevrimiçi bir tabloyla eşitlediğinizde, bu özellik tablosundaki özellikler kullanılarak eğitilen modeller çıkarım sırasında otomatik olarak çevrimiçi tablodan özellik değerlerini arar. Ek yapılandırma gerekmez.

  1. Modeli eğitmek için bir FeatureLookup kullanın.

    Model eğitimi için, aşağıdaki örnekte gösterildiği gibi model eğitim kümesindeki çevrimdışı özellik tablosundaki özellikleri kullanın:

    training_set = fe.create_training_set(
      df=id_rt_feature_labels,
      label='quality',
      feature_lookups=[
          FeatureLookup(
              table_name="user_preferences",
              lookup_key="user_id"
          )
      ],
      exclude_columns=['user_id'],
    )
    
  2. Databricks Model Sunma ile modeli sunma. Model, çevrimiçi tablodan özellikleri otomatik olarak arar. Ayrıntılar için bkz . Databricks'te MLflow modelleriyle otomatik özellik arama.

Kullanıcı izinleri

Çevrimiçi tablo oluşturmak için aşağıdaki izinlere sahip olmanız gerekir:

  • SELECT ayrıcalığını gösterir.
  • USE_CATALOG ayrıcalığı.
  • USE_SCHEMA ve CREATE_TABLE hedef şemada ayrıcalık.

Çevrimiçi bir tablonun veri eşitleme işlem hattını yönetmek için, çevrimiçi tablonun sahibi olmanız veya çevrimiçi tabloda YENİLEME ayrıcalığına sahip olmanız gerekir. Katalogda USE_CATALOG ve USE_SCHEMA ayrıcalıkları olmayan kullanıcılar Katalog Gezgini'nde çevrimiçi tabloyu görmez.

Unity Kataloğu meta veri deposu Ayrıcalık Modeli Sürüm 1.0'a sahip olmalıdır.

Uç nokta izin modeli

Verileri sorgulamak ve işlevleri yürütmek için gereken sınırlı izinlere sahip uç noktaya hizmet sunan veya model sunan bir özellik için otomatik olarak benzersiz bir sistem hizmet sorumlusu oluşturulur. Bu hizmet sorumlusu, uç noktaların verilerine ve işlev kaynaklarına kaynağı oluşturan kullanıcıdan bağımsız olarak erişmesini sağlar ve oluşturucu çalışma alanından ayrılırsa uç noktanın çalışmaya devam etmesini sağlar.

Bu sistem hizmet sorumlusunun ömrü uç noktanın ömrüdür. Denetim günlükleri, Unity Kataloğu kataloğunun sahibi için sistem tarafından oluşturulan ve bu sistem hizmet sorumlusuna gerekli ayrıcalıkları veren kayıtları gösterebilir.

Sınırlamalar

  • Kaynak tablo başına yalnızca bir çevrimiçi tablo desteklenir.
  • Çevrimiçi bir tablo ve kaynak tablosunun en fazla 1000 sütunu olabilir.
  • ARRAY, MAP veya STRUCT veri türlerinin sütunları çevrimiçi tabloda birincil anahtar olarak kullanılamaz.
  • Bir sütun çevrimiçi tabloda birincil anahtar olarak kullanılıyorsa, kaynak tablodaki sütunun null değerler içerdiği tüm satırlar yoksayılır.
  • Yabancı, sistem ve iç tablolar kaynak tablo olarak desteklenmez.
  • Delta değişiklik veri akışı etkin olmayan kaynak tablolar yalnızca Anlık görüntü eşitleme modunu destekler.
  • Delta Sharing tabloları yalnızca Anlık görüntü eşitleme modunda desteklenir.
  • Çevrimiçi tablonun katalog, şema ve tablo adları yalnızca alfasayısal karakterler ve alt çizgi içerebilir ve sayılarla başlamamalıdır. Tirelere (-) izin verilmez.
  • Dize türü sütunları 64 KB uzunlukla sınırlıdır.
  • Sütun adlarının uzunluğu 64 karakterle sınırlıdır.
  • Satırın en büyük boyutu 2 MB'tır.
  • Geçitli genel önizleme sırasında çevrimiçi tablonun boyutu üst sınırı 200 GB sıkıştırılmamış kullanıcı verileridir.
  • Geçitli genel önizleme sırasında Unity Kataloğu meta veri deposundaki tüm çevrimiçi tabloların birleşik boyutu 1 TB sıkıştırılmamış kullanıcı verileridir.
  • Saniye başına en fazla sorgu sayısı (QPS) 200'dür. Bu sınır 25.000 veya daha fazla olabilir. Sınırı artırmak için Databricks hesap ekibinize ulaşın.

Sorun giderme

Çevrimiçi tablo oluştur seçeneğini görmüyorum

Bunun nedeni genellikle eşitlemeye çalıştığınız tablonun (kaynak tablo) desteklenen bir tür olmamasıdır. Kaynak tablonun Güvenli Hale Getirilebilir Türü(Katalog Gezgini Ayrıntıları sekmesinde gösterilir) aşağıdaki desteklenen seçeneklerden biri olduğundan emin olun:

  • TABLE_EXTERNAL
  • TABLE_DELTA
  • TABLE_DELTA_EXTERNAL
  • TABLE_DELTASHARING
  • TABLE_DELTASHARING_MUTABLE
  • TABLE_STREAMING_LIVE_TABLE
  • TABLE_STANDARD
  • TABLE_FEATURE_STORE
  • TABLE_FEATURE_STORE_EXTERNAL
  • TABLE_VIEW
  • TABLE_VIEW_DELTASHARING
  • TABLE_MATERIALIZED_VIEW

Çevrimiçi tablo oluştururken Tetiklenen veya Sürekli eşitleme modlarını seçemiyorum

Bu durum, kaynak tabloda Delta değişiklik veri akışının etkinleştirilmemesi veya Görünüm veya Gerçekleştirilmiş Görünüm olması durumunda ortaya çıkar. Artımlı eşitleme modunu kullanmak için kaynak tabloda değişiklik veri akışını etkinleştirin veya görüntüleme olmayan bir tablo kullanın.

Çevrimiçi tablo güncelleştirmesi başarısız oluyor veya durum çevrimdışı görünüyor

Bu hatayla ilgili sorunları gidermeye başlamak için, Katalog Gezgini'ndeki çevrimiçi tablonun Genel Bakış sekmesinde görüntülenen işlem hattı kimliğine tıklayın.

çevrimiçi tablolar işlem hattı hatası

Görüntülenen işlem hattı kullanıcı arabirimi sayfasında "'__online_table' akışı çözümlenemedi" yazan girişe tıklayın.

çevrimiçi tablolar işlem hattı hata iletisi

Hata ayrıntıları bölümünde ayrıntıları içeren bir açılır pencere görüntülenir.

hatanın çevrimiçi tablo ayrıntıları

Hataların yaygın nedenleri şunlardır:

  • Çevrimiçi tablo eşitlenirken kaynak tablo silindi veya silindi ve aynı adla yeniden oluşturuldu. Bunlar sürekli eşitlendiğinden, bu özellikle sürekli çevrimiçi tablolarda yaygındır.

  • Güvenlik duvarı ayarları nedeniyle kaynak tabloya Sunucusuz İşlem aracılığıyla erişilemiyor. Bu durumda, Hata ayrıntıları bölümünde "xxx...kümesinde DLT hizmeti başlatılamadı" hata iletisi gösterebilirsiniz.

  • Çevrimiçi tabloların toplam boyutu, meta veri deposu genelindeki 1 TiB (sıkıştırılmamış boyut) sınırını aşıyor. 1 TiB sınırı, Delta tablosunu satır odaklı biçimde genişletildikten sonra sıkıştırılmamış boyutu ifade eder. Tablonun satır biçimindeki boyutu, Katalog Gezgini'nde gösterilen Delta tablosunun boyutundan önemli ölçüde büyük olabilir. Bu, tablonun sütun odaklı biçimdeki sıkıştırılmış boyutuna başvurur. Tablo içeriğine bağlı olarak fark 100x kadar büyük olabilir.

    Delta tablosunun sıkıştırılmamış, satır genişletilmiş boyutunu tahmin etmek için Sunucusuz SQL Ambarı'ndan aşağıdaki sorguyu kullanın. Sorgu, tahmini genişletilmiş tablo boyutunu bayt cinsinden döndürür. Bu sorgunun başarıyla yürütülmesi, Sunucusuz İşlem'in kaynak tabloya erişebildiğini de onaylar.

    SELECT sum(length(to_csv(struct(*)))) FROM `source_table`;