Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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()ataucreate_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")