create_table

Important

Tato funkce je v beta verzi.

create_table() Pomocí funkce v kanálu vytvořte spravovanou tabulku napsanou jednou nebo více deklaracemi append_flow. Spárujte create_table() volání s jedním nebo více @append_flow(target=...) dekorátory, které zapisují do tabulky. Na stejnou spravovanou tabulku může cílit více toků.

Ekvivalent SQL najdete v tématuCREATE 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 Typ Description
name str Required. Název tabulky.
comment str Popis tabulky.
spark_conf dict Seznam konfigurací Sparku pro spuštění tohoto dotazu.
table_properties dict Seznam dict pro tabulku.
partition_cols list Seznam jednoho nebo více sloupců, které se mají použít k rozdělení tabulky.
path str Úložiště dat tabulky. Pokud není nastavené, použijte spravované umístění úložiště pro schéma obsahující tabulku.
schema str nebo StructType Definice schématu pro tabulku. Schémata lze definovat jako řetězec DDL SQL nebo pomocí Pythonu StructType.
expect_all, , expect_all_or_dropexpect_all_or_fail dict Omezení kvality dat pro tabulku Poskytuje stejné chování a používá stejnou syntaxi jako dekorační funkce očekávání, ale je implementována jako parametr. Podívejte se na očekávání.
cluster_by list Povolte tekuté shlukování v tabulce a definujte sloupce, které se mají použít jako klíče shlukování. Viz Použití metody 'liquid clustering' pro tabulky.
cluster_by_auto bool Povolte automatické shlukování kapalin v tabulce. Lze kombinovat s cluster_by definováním počátečních klíčů clusteringu. Viz Automatické shlukování kapalin.
row_filter str (Public Preview) Klauzule řádkového filtru pro tabulku. Viz Publikování tabulek s filtry řádků a maskami sloupců.
private bool Když Truevytvoří privátní tabulku, která není publikovaná v katalogu a je přístupná pouze v rámci kanálu. Výchozí hodnota je False.

Omezení

  • Spravované tabulky nepodporují toky změn zachytávání dat (CDC). create_auto_cdc_flow() nebo create_auto_cdc_from_snapshot_flow() cílení na spravovanou tabulku selže. Pro cíle CDC použijte create_streaming_table().
  • Spravované tabulky podporují pouze append_flow. Nahrazení toků (replace_flow / FLOW ... REPLACE WHERE) se nepodporuje.
  • Spravované tabulky se podporují jenom v kanálech s katalogem Unity.
  • Název existující tabulky streamování pro spravovanou tabulku nelze znovu použít.

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