create_table

Important

Deze functie bevindt zich in de bètaversie.

Gebruik de create_table() functie in een pijplijn om een beheerde tabel te maken, geschreven door een of meer append_flow declaraties. Koppel de create_table() aanroep met een of meer @append_flow(target=...) decorators die in de tabel schrijven. Meerdere stromen kunnen zich richten op dezelfde beheerde tabel.

Zie voor het SQL-equivalent 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 Description
name str Required. De naam van de tabel.
comment str Een beschrijving voor de tabel.
spark_conf dict Een lijst met Spark-configuraties voor de uitvoering van deze query.
table_properties dict Een dict van tabeleigenschappen voor de tabel.
partition_cols list Een lijst met een of meer kolommen die moeten worden gebruikt voor het partitioneren van de tabel.
path str Een opslaglocatie voor tabelgegevens. Als dit niet is ingesteld, gebruikt u de beheerde opslaglocatie voor het schema met de tabel.
schema str of StructType Een schemadefinitie voor de tabel. Schema's kunnen worden gedefinieerd als een SQL DDL-tekenreeks of met een Python StructType.
expect_all, , expect_all_or_dropexpect_all_or_fail dict Beperkingen voor gegevenskwaliteit voor de tabel. Het biedt hetzelfde gedrag en maakt gebruik van dezelfde syntaxis als de functies van de verwachtingsdecorator, maar is geïmplementeerd als een parameter. Zie verwachtingen.
cluster_by list Schakel vloeistofclustering in de tabel in en definieer de kolommen die moeten worden gebruikt als clustersleutels. Zie Liquid Clustering gebruiken voor tabellen.
cluster_by_auto bool Schakel automatische vloeistofclustering in op de tabel. Kan worden gecombineerd met cluster_by het definiëren van de eerste clusteringsleutels. Zie Automatische vloeistofclustering.
row_filter str (Openbare preview) Een rijfilterclausule voor de tabel. Zie Tabellen publiceren met rijfilters en kolommaskers.
private bool Wanneer True, maakt u een persoonlijke tabel die niet in de catalogus wordt gepubliceerd en is alleen toegankelijk binnen de pijplijn. Wordt standaard ingesteld op False.

Limitations

  • Beheerde tabellen bieden geen ondersteuning voor wijzigingsgegevensopname (CDC) wijzigingsstromen. create_auto_cdc_flow() of create_auto_cdc_from_snapshot_flow() het instellen van een beheerde tabel mislukt. Gebruik create_streaming_table() voor CDC-doelen.
  • Beheerde tabellen ondersteunen alleen append_flow. Vervangstromen (replace_flow / FLOW ... REPLACE WHERE) worden niet ondersteund.
  • Beheerde tabellen worden alleen ondersteund in pijplijnen met Unity Catalog.
  • U kunt de naam van een bestaande streamingtabel voor een beheerde tabel niet opnieuw gebruiken.

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