Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Important
Questa funzionalità è in versione beta.
Usare la create_table() funzione in una pipeline per creare una tabella gestita, scritta da una o più dichiarazioni di append_flow . Associare la create_table() chiamata a uno o più @append_flow(target=...) elementi Decorator che scrivono nella tabella. Più flussi possono essere destinati alla stessa tabella gestita.
Per l'equivalente SQL, vedere 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
| Parametro | Tipo | Descrizione |
|---|---|---|
name |
str |
Required. Nome della tabella. |
comment |
str |
Descrizione della tabella. |
spark_conf |
dict |
Elenco delle configurazioni di Spark per l'esecuzione di questa query. |
table_properties |
dict |
Un dict di proprietà della tabella relativo alla tabella. |
partition_cols |
list |
Elenco di una o più colonne da utilizzare per il partizionamento della tabella. |
path |
str |
Posizione di archiviazione per i dati della tabella. Se non è impostato, usare il percorso di archiviazione gestito per lo schema contenente la tabella. |
schema |
str oppure StructType |
Definizione dello schema per la tabella. Gli schemi possono essere definiti come una stringa SQL DDL o con il linguaggio Python StructType. |
expect_all, expect_all_or_drop, expect_all_or_fail |
dict |
Vincoli di qualità dei dati per la tabella. Fornisce lo stesso comportamento e utilizza la stessa sintassi delle funzioni decoratore di aspettative, ma implementato come parametro. Vedere Aspettative. |
cluster_by |
list |
Abilitare il clustering liquido nella tabella e definire le colonne da usare come chiavi di clustering. Vedere Usare clustering liquido per le tabelle. |
cluster_by_auto |
bool |
Abilitare il clustering liquido automatico nella tabella. Può essere combinato con cluster_by per definire le chiavi di clustering iniziali. Per ulteriori informazioni, vedere Clustering liquido automatico. |
row_filter |
str |
(Anteprima pubblica) Clausola di filtro di riga per la tabella. Vedere Pubblicare tabelle con filtri di riga e maschere di colonna. |
private |
bool |
Quando True, crea una tabella privata che non viene pubblicata nel catalogo ed è accessibile solo all'interno della pipeline. Di default è False. |
Limitations
- Le tabelle gestite non supportano i flussi di modifica di Change Data Capture (CDC).
create_auto_cdc_flow()ocreate_auto_cdc_from_snapshot_flow()la destinazione di una tabella gestita ha esito negativo. Usare create_streaming_table() per le destinazioni CDC. - Le tabelle gestite supportano solo
append_flow. I flussi di sostituzione (replace_flow/FLOW ... REPLACE WHERE) non sono supportati. - Le tabelle gestite sono supportate solo nelle pipeline con Il catalogo unity.
- Non è possibile riutilizzare il nome di una tabella di streaming esistente per una tabella gestita.
Esempio
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")