tablo_oluştur

Important

Bu özellik Beta sürümündedir.

create_table() bir veya daha fazla append_flow bildirimi tarafından yazılmış bir yönetilen tablo oluşturmak için işlem hattındaki işlevini kullanın. Aramayı tabloya create_table() yazan bir veya daha fazla @append_flow(target=...) dekoratörle eşleştirin. Birden çok akış aynı yönetilen tabloyu hedefleyebilir.

SQL eşdeğeri için bkz CREATE TABLE . ... FLOW.

Syntax

from pyspark import pipelines as dp

dp.create_table(
  name = "<table-name>",
  comment = "<comment>",
  spark_conf={"<key>" : "<value>", "<key>" : "<value>"},
  table_properties={"<key>" : "<value>", "<key>" : "<value>"},
  partition_cols=["<partition-column>", "<partition-column>"],
  path="<storage-location-path>",
  schema="schema-definition",
  expect_all = {"<key>" : "<value>", "<key>" : "<value>"},
  expect_all_or_drop = {"<key>" : "<value>", "<key>" : "<value>"},
  expect_all_or_fail = {"<key>" : "<value>", "<key>" : "<value>"},
  cluster_by = ["<clustering-column>", "<clustering-column>"],
  cluster_by_auto = False,
  row_filter = "row-filter-clause",
  private = False
)

Parameters

Parametre Türü Description
name str Gerekli. Tablo adı.
comment str Tablo için bir açıklama.
spark_conf dict Bu sorgunun yürütülmesi için Spark yapılandırmalarının listesi.
table_properties dict dict Tablonun tablo özelliklerinden biri.
partition_cols list Tabloyu bölümlendirmek için kullanılacak bir veya daha fazla sütunun listesi.
path str Tablo verileri için bir depolama konumu. Ayarlanmadıysa, tabloyu içeren şema için yönetilen depolama konumunu kullanın.
schema str veya StructType Tablo için şema tanımı. Şemalar bir SQL DDL dizesi olarak veya Python StructTypeile tanımlanabilir.
expect_all, expect_all_or_drop, expect_all_or_fail dict Tablo için veri kalitesi kısıtlamaları. Aynı davranışı sağlar ve beklenti dekoratörü işlevleriyle aynı söz dizimini kullanır, ancak parametre olarak uygulanır. Bkz. Beklentiler.
cluster_by list Tabloda sıvı kümelemeye olanak tanıyın ve kümeleme anahtarları olarak kullanılacak sütunları tanımlayın. Bkz Tablolar için sıvı kümeleme kullanma.
cluster_by_auto bool Tabloda otomatik sıvı kümelemasını etkinleştirin. ile birleştirilerek cluster_by ilk kümeleme anahtarları tanımlanabilir. Bkz. Otomatik sıvı kümeleme.
row_filter str (Genel Önizleme) Tablo için satır filtresi yan tümcesi. Bkz. Satır filtreleri ve sütun maskeleriyle tabloları yayımlama.
private bool olduğunda True, katalogda yayımlanmayan ve yalnızca işlem hattı içinde erişilebilen özel bir tablo oluşturur. Varsayılan değer False’dır.

Sınırlamalar

  • Yönetilen tablolar değişiklik veri yakalama (CDC) değişiklik akışlarını desteklemez. create_auto_cdc_flow() veya create_auto_cdc_from_snapshot_flow() yönetilen tabloyu hedefleme başarısız olur. CDC hedefleri için create_streaming_table() kullanın.
  • Yönetilen tablolar yalnızca append_flowdestekler. Değiştirme akışları (replace_flow / FLOW ... REPLACE WHERE) desteklenmez.
  • Yönetilen tablolar yalnızca Unity Kataloğu ile işlem hatlarında desteklenir.
  • Yönetilen tablo için mevcut akış tablosunun adını yeniden kullanamazsınız.

Example

from pyspark import pipelines as dp

dp.create_table("combined")

@dp.append_flow(target="combined")
def from_a():
    return spark.readStream.table("source_a")

@dp.append_flow(target="combined")
def from_b():
    return spark.readStream.table("source_b")