create_table

Important

Fitur ini ada di Beta.

create_table() Gunakan fungsi dalam alur untuk membuat tabel terkelola, yang ditulis oleh satu atau beberapa deklarasi append_flow. Pasangkan create_table() panggilan dengan satu atau beberapa @append_flow(target=...) dekorator yang menulis ke dalam tabel. Beberapa alur dapat menargetkan tabel terkelola yang sama.

Untuk SQL yang setara, lihat 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

Parameter Type Deskripsi
name str Required. Nama tabel.
comment str Deskripsi untuk tabel.
spark_conf dict Daftar konfigurasi Spark untuk eksekusi kueri ini.
table_properties dict Sebuah properti dicttabel untuk tabel.
partition_cols list Daftar satu atau beberapa kolom yang akan digunakan untuk mempartisi tabel.
path str Lokasi penyimpanan untuk data tabel. Jika tidak diatur, gunakan lokasi penyimpanan terkelola untuk skema yang berisi tabel.
schema str atau StructType Definisi skema untuk tabel. Skema dapat didefinisikan sebagai string SQL DDL atau dengan Python StructType.
expect_all, , expect_all_or_dropexpect_all_or_fail dict Batasan kualitas data untuk tabel. Menyediakan perilaku yang sama dan menggunakan sintaks yang sama dengan fungsi dekorator ekspektasi, tetapi diimplementasikan sebagai parameter. Lihat Ekspektasi.
cluster_by list Aktifkan pengklusteran cair pada tabel dan tentukan kolom yang akan digunakan sebagai kunci pengklusteran. Lihat Menggunakan pengklusteran cair untuk tabel.
cluster_by_auto bool Aktifkan pengklusteran cairan otomatis pada tabel. Dapat dikombinasikan dengan cluster_by untuk menentukan kunci pengklusteran awal. Lihat pengklusteran cairan otomatis.
row_filter str (Pratinjau Umum) Klausa filter baris untuk tabel. Lihat Menerbitkan tabel dengan filter baris dan masker kolom.
private bool Ketika True, membuat tabel privat yang tidak diterbitkan ke katalog dan hanya dapat diakses dalam alur. Secara default menjadi False.

Keterbatasan

  • Tabel terkelola tidak mendukung perubahan alur perubahan pengambilan data (CDC). create_auto_cdc_flow() atau create_auto_cdc_from_snapshot_flow() menargetkan tabel terkelola gagal. Gunakan create_streaming_table() untuk target CDC.
  • Tabel terkelola hanya append_flowmendukung . Alur penggantian (replace_flow / FLOW ... REPLACE WHERE) tidak didukung.
  • Tabel terkelola hanya didukung dalam alur dengan Unity Catalog.
  • Anda tidak dapat menggunakan kembali nama tabel streaming yang ada untuk tabel terkelola.

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")