Pular para o conteúdo principal

create_table

info

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

Python
from pyspark import pipelines as dp

dp.create_table(
name = "<table-name>",
comment = "<comment>",
spark_conf={&quot;&lt;key&gt;&quot; : &quot;&lt;value&gt;&quot;, &quot;&lt;key&gt;&quot; : &quot;&lt;value&gt;&quot;},
table_properties={&quot;&lt;key&gt;&quot; : &quot;&lt;value&gt;&quot;, &quot;&lt;key&gt;&quot; : &quot;&lt;value&gt;&quot;},
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

name

str

Obrigatório. O nome da tabela.

comment

str

Uma descrição para a tabela.

spark_conf

dict

Uma lista de configurações do Spark para a execução desta query.

table_properties

dict

Uma dict de propriedades da tabela para a tabela.

partition_cols

list

Uma lista de uma ou mais colunas para usar no particionamento da tabela.

path

str

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.

schema

str ou StructType

Uma definição de esquema para a tabela. Esquemas podem ser definidos como uma string SQL DDL ou com um Python StructType.

expect_all, expect_all_or_drop, expect_all_or_fail

dict

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.

cluster_by

list

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.

cluster_by_auto

bool

Ative o liquid clustering automático na tabela. Pode ser combinado com cluster_by para definir as chaves de clustering iniciais. Consulte liquid clustering automático.

row_filter

str

(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.

private

bool

Quando True, cria uma tabela privada que não é publicada no catálogo e é acessível somente dentro do pipeline. default to False.

Parâmetro

Tipo

Descrição

name

str

Obrigatório. O nome da tabela.

comment

str

Uma descrição para a tabela.

spark_conf

dict

Uma lista de configurações do Spark para a execução desta query.

table_properties

dict

Uma dict de propriedades da tabela para a tabela.

partition_cols

list

Uma lista de uma ou mais colunas para usar no particionamento da tabela.

path

str

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.

schema

str ou StructType

Uma definição de esquema para a tabela. Esquemas podem ser definidos como uma string SQL DDL ou com um Python StructType.

expect_all, expect_all_or_drop, expect_all_or_fail

dict

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.

cluster_by

list

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.

cluster_by_auto

bool

Ative o liquid clustering automático na tabela. Pode ser combinado com cluster_by para definir as chaves de clustering iniciais. Consulte liquid clustering automático.

row_filter

str

(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.

private

bool

Quando True, cria uma tabela privada que não é publicada no catálogo e é acessível somente dentro do pipeline. default to False.

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() ou create_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

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