create_table

Important

Den här funktionen finns i Beta.

create_table() Använd funktionen i en pipeline för att skapa en hanterad tabell som skrivits av en eller flera append_flow deklarationer. Koppla samtalet create_table() med en eller flera @append_flow(target=...) dekoratörer som skriver i tabellen. Flera flöden kan riktas mot samma hanterade tabell.

För SQL-motsvarigheten, se 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 Beskrivning
name str Required. Tabellnamnet.
comment str En beskrivning av tabellen.
spark_conf dict En lista över Spark-konfigurationer för körning av den här frågan.
table_properties dict En lista över dict för tabellen.
partition_cols list En lista över en eller flera kolumner som ska användas för partitionering av tabellen.
path str En lagringsplats för tabelldata. Om den inte har angetts använder du den hanterade lagringsplatsen för schemat som innehåller tabellen.
schema str eller StructType En schemadefinition för tabellen. Scheman kan definieras som en SQL DDL-sträng eller med ett Python-StructType.
expect_all, , expect_all_or_dropexpect_all_or_fail dict Datakvalitetsbegränsningar för tabellen. Ger samma beteende och använder samma syntax som dekoratörsfunktioner för förväntningar, men implementeras som en parameter. Se Förväntningar.
cluster_by list Aktivera flytande klustring i tabellen och definiera de kolumner som ska användas som klustringsnycklar. Se Använda flytande klustring för tabeller.
cluster_by_auto bool Aktivera automatisk klustring av vätska på tabellen. Kan kombineras med cluster_by för att definiera de första klustringsnycklarna. Se Automatisk flytande klustring.
row_filter str (Offentlig förhandsversion) En radfiltersats för tabellen. Se Publicera tabeller med radfilter och kolumnmasker.
private bool När Trueskapar skapar en privat tabell som inte har publicerats i katalogen och endast är tillgänglig i pipelinen. Standardinställningen är False.

Limitations

  • Hanterade tabeller har inte stöd för ändringsdatainsamlingsflöden (CDC). create_auto_cdc_flow() eller create_auto_cdc_from_snapshot_flow() att rikta in sig på en hanterad tabell misslyckas. Använd create_streaming_table() för CDC-mål.
  • Hanterade tabeller stöder endast append_flow. Ersätt flöden (replace_flow / FLOW ... REPLACE WHERE) stöds inte.
  • Hanterade tabeller stöds endast i pipelines med Unity Catalog.
  • Du kan inte återanvända namnet på en befintlig strömmande tabell för en hanterad tabell.

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