create_table
Beta
Este recurso está em Beta.
Utilize a função create_table() em um pipeline para criar uma tabela gerenciada, escrita por uma ou mais declarações de fluxo de acréscimo. Emparelhe a chamada create_table() com um ou mais decoradores @append_flow(target=...) que gravam na tabela. Vários fluxos podem ter como destino a mesma tabela gerenciada.
Para o equivalente SQL, consulte CREATE TABLE ... FLOW.
Sintaxe
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
)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| Obrigatório. O nome da tabela. |
|
| Uma descrição para a tabela. |
|
| Uma lista de configurações do Spark para a execução desta query. |
|
| Uma |
|
| Uma lista de uma ou mais colunas para usar no particionamento da tabela. |
|
| Um local de armazenamento para dados da tabela. Se não for definido, use o local de armazenamento gerenciado para o esquema que contém a tabela. |
|
| Uma definição de esquema para a tabela. Esquemas podem ser definidos como uma string SQL DDL ou com um Python |
|
| Restrições de qualidade de dados para a tabela. Fornece o mesmo comportamento e usa a mesma sintaxe que as funções decoradoras de expectativa, mas implementado como um parâmetro. Consulte Expectativas. |
|
| Habilite o clustering líquido na tabela e defina as colunas a serem usadas como chaves de clustering. Consulte Usar clustering líquido para tabelas. |
|
| Ative o liquid clustering automático na tabela. Pode ser combinado com |
|
| (Pré-visualização Pública) Uma cláusula de filtro de linha para a tabela. Consulte Publicar tabelas com filtros de linha e máscaras de coluna. |
|
| Quando |
Limitações
- Tabelas gerenciadas não oferecem suporte a fluxos de alteração de captura de dados de alterações (CDC).
create_auto_cdc_flow()oucreate_auto_cdc_from_snapshot_flow()visando uma tabela gerenciada falha. Use create_streaming_table() para destinos CDC. - Tabelas gerenciadas suportam apenas
append_flow. Fluxos de substituição (replace_flow/FLOW ... REPLACE WHERE) não são compatíveis. - Tabelas gerenciadas têm suporte apenas em pipelines com o Unity Catalog.
- Não é possível reutilizar o nome de uma tabela de transmissão existente para uma tabela gerenciada.
Exemplo
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")