Este documento descreve os métodos, as propriedades e as opções de configuração de Núcleo do Dataform. É possível usar o Dataform Core no SQLX e JavaScript.
assert()
assert
|
(name: string, query?: AContextable
|
Adiciona uma declaração do Dataform ao grafo compilado. Disponível apenas no diretório |
Exemplo:
// definitions/file.js
assert("name").query(ctx => "select 1");
CommonContext
Métodos de contexto estão disponíveis ao avaliar códigos SQL contextuais.
como em arquivos SQLX ou ao usar
Argumento Contextable
com o núcleo do Dataform.
database
|
() => string
|
Retorna o banco de dados desse conjunto de dados, se aplicável. | |
name
|
() => string
|
Retorna o nome desta tabela. | |
ref
|
(ref: Resolvable | string[], rest: string[]) => string
|
Faz referência a outra ação, adicionando-a como uma dependência desta ação,
retornando um SQL válido para ser usado em uma expressão from .
Essa função pode ser chamada com um objeto
Essa função também pode ser chamada usando argumentos individuais para o
Valores ${ref("database", "schema", "name")}
${ref("schema", "name")}
${ref("name")}
|
|
resolve
|
(ref: Resolvable | string[], rest: string[]) => string
|
Semelhante a ref , mas não adiciona o
como uma dependência dessa ação.
|
|
self
|
() => string
|
Equivale a resolve(name()) .
Retorna uma string SQL válida que pode ser usada para fazer referência à tabela. produzida por esta ação. |
|
schema
|
() => string
|
Retorna o esquema deste conjunto de dados. |
Contexto
Os argumentos contextualizáveis podem transmitir um valor simples para o tipo genérico deles
T
ou uma função chamada com o objeto de contexto para esta
tipo de operação.
T | (ctx: Context) => T
Dataform
Variável global que contém o objeto IProjectConfig.
Obrigatório para receber propriedades IProjectConfig
, por exemplo:
dataform.projectConfig.vars.myVariableName === "myVariableValue"
declare()
declare
|
(dataset: dataform.ITarget)
|
Declara o conjunto de dados como uma fonte de dados do Dataform. Disponível apenas no diretório |
Exemplo:
// definitions/file.js
declare({name: "a-declaration"})
IActionConfig
Define tags e dependências do Dataform aplicada a uma ação do fluxo de trabalho SQL.
tags
|
string[]
|
Uma lista de tags definidas pelo usuário com as quais a ação deve ser rotulada. |
|
dependencies
|
Resolvable| Resolvable[]
|
Dependências da ação. |
|
disabled
|
boolean
|
Se definida como verdadeira, esta ação não será executada. No entanto, a ação pode ainda não dependam deles. Útil para desativar temporariamente ações corrompidas. |
IAssertionConfig
Opções de configuração para tipos de ação assertion
.
database
|
string
|
O banco de dados (ID do projeto do Google Cloud) no qual criar a visualização correspondente dessa declaração. | |
description
|
string
|
Uma descrição dessa declaração. | |
disabled
|
boolean
|
Se definida como true , esta ação não será executada.
Ainda é possível depender da ação. Útil para temporariamente
desativando ações interrompidas.
|
|
hermetic
|
boolean
|
Declara se essa ação é hermética. Uma ação é hermética
se todas as dependências forem declaradas explicitamente.
Se a ação depende de dados de uma fonte que não foi declarada
como dependência, em seguida, defina |
|
schema
|
string
|
O esquema (conjunto de dados do BigQuery) em que a criação a visualização correspondente dessa declaração. | |
tags
|
string[]
|
Uma lista de tags definidas pelo usuário aplicadas a esta ação. |
IBigQueryOptions
Opções de warehouse específicas do BigQuery.
additionalOptions
|
|
Pares de chave-valor para a tabela, a visualização
e de visualização materializada.
Algumas opções, como
Os valores de string precisam ser encapsulados entre aspas duplas, por exemplo:
Se o nome da opção contiver caracteres especiais, coloque o nome entre aspas,
Por exemplo: |
|
clusterBy
|
string[]
|
As chaves pelas quais partições de cluster serão usadas. | |
labels
|
|
Pares de chave-valor para rótulos do BigQuery.
Se o nome do rótulo tiver caracteres especiais, por exemplo, hifens,
em seguida, cite o nome dela, por exemplo, |
|
partitionBy
|
string
|
A chave pela qual particionar a tabela. Normalmente, o nome de um carimbo de data/hora ou a coluna de data. | |
partitionExpirationDays
|
number
|
O número de dias em que o BigQuery armazena dados cada partição. A configuração se aplica a todas as partições em uma tabela, mas é calculado de modo independente para cada partição com base o tempo de partição. | |
requirePartitionFilter
|
boolean
|
declara se a tabela particionada requer um WHERE ;
filtro de predicado de cláusula que filtra a coluna de particionamento.
|
|
updatePartitionFilter
|
string
|
Filtro baseado em SQL para quando atualizações incrementais sejam aplicadas. |
IColumnsDescriptor
Descreve colunas em uma tabela.
{ [name]: string | IRecordDescriptor }
IDeclarationConfig
Opções de configuração para tipos de ação declaration
.
columns
|
IColumnsDescriptor
|
Uma descrição das colunas na tabela. | |
database
|
string
|
O banco de dados (ID do projeto do Google Cloud) no qual criar a tabela de origem existe. | |
description
|
string
|
Uma descrição da tabela. | |
schema
|
string
|
O esquema (conjunto de dados do BigQuery) em que está a tabela de origem. |
IDependenciesConfig
Define as dependências de uma ação do fluxo de trabalho SQL.
dependencies
|
Resolvable| Resolvable[]
|
Uma ou mais dependências explícitas para essa ação. Ações de dependência
serão executadas antes das ações dependentes.
Normalmente, ela não é definida, porque a maioria das dependências é declarada.
como um subproduto do uso da função |
|
hermetic
|
boolean
|
Declara se a ação é ou não hermética. Uma ação é hermética se
todas as dependências são declaradas explicitamente. Se a ação depender
dados de uma fonte que não tenha sido declarada como dependência,
|
IDocumentableConfig
Define as descrições de um conjunto de dados e suas colunas.
columns
|
IColumnsDescriptor
|
Uma descrição de colunas dentro do conjunto de dados. |
|
description
|
string
|
Uma descrição do conjunto de dados. |
INamedConfig
Define o tipo e o nome de uma ação do fluxo de trabalho SQL.
type
|
string
|
O tipo da ação. |
|
name
|
string
|
O nome da ação. |
IOperationConfig
Opções de configuração para tipos de ação operations
.
columns
|
IColumnsDescriptor
|
Uma descrição das colunas na tabela. | |
database
|
string
|
O banco de dados (ID do projeto do Google Cloud) no qual criar a saída desta ação. | |
description
|
string
|
Uma descrição da tabela. | |
disabled
|
boolean
|
Se definida como true , esta ação não será executada.
Ainda é possível depender da ação.
Útil para desativar temporariamente ações corrompidas.
|
|
hasOutput
|
boolean
|
Declara que a ação operations cria uma tabela.
que pode ser referenciada usando a função ref .
Se definida como create or replace table ${self()} as select ...
|
|
hermetic
|
boolean
|
Declara se essa ação é hermética. Uma ação é hermética
se todas as dependências forem declaradas explicitamente.
Se a ação depende de dados de uma fonte que não foi declarada
como dependência, em seguida, defina |
|
schema
|
string
|
O esquema (conjunto de dados do BigQuery) em que a criação a saída desta ação. | |
tags
|
string[]
|
Uma lista de tags definidas pelo usuário aplicadas a esta ação. |
IProjectConfig
Contém as configurações de compilação de um repositório do Dataform.
defaultDatabase
|
string
|
Obrigatório. O banco de dados padrão (ID do projeto do Google Cloud). | |
defaultSchema
|
string
|
Obrigatório. O esquema padrão (ID do conjunto de dados do BigQuery). | |
defaultLocation
|
string
|
Obrigatório. O local padrão do BigQuery a ser usado. Para mais informações sobre locais do BigQuery, consulte https://cloud.google.com/bigquery/docs/locations. | |
assertionSchema
|
string
|
Obrigatório. O esquema padrão (ID do conjunto de dados do BigQuery) para declarações. | |
vars
|
map (key: string, value: string)
|
Opcional. Variáveis definidas pelo usuário que são disponibilizadas
para projetar o código durante a compilação.
Um objeto com uma lista de pares "key": value .
Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" } .
|
|
databaseSuffix
|
string
|
Opcional. O sufixo que deve ser anexado a todos os bancos de dados (ID do projeto do Google Cloud). | |
schemaSuffix
|
string
|
Opcional. O sufixo que precisa ser anexado a todo o esquema (ID do conjunto de dados do BigQuery). | |
tablePrefix
|
string
|
Opcional. O prefixo que precisa ser anexado a todos os nomes de tabelas. | |
warehouse
|
string
|
Obrigatório. Precisa ser definido como bigquery .
|
É possível definir propriedades IProjectConfig
nas configurações do fluxo de trabalho
no nível do repositório.
É possível substituir as propriedades defaultSchema
e defaultDatabase
para
em tabelas individuais.
É possível acessar todas as propriedades IProjectConfig
em uma instrução SQL SELECT
em um arquivo SQLX ou JavaScript.
O exemplo de código a seguir mostra a variável de compilação personalizada myVariableName
.
definidas nas configurações do fluxo de trabalho com o
propriedade projectConfig.vars
,
acessado em uma instrução SELECT
em um arquivo SQLX:
config { type: "view" }
SELECT ${when(
dataform.projectConfig.vars.myVariableName === "myVariableValue",
"myVariableName is set to myVariableValue!",
"myVariableName is not set to myVariableValue!"
)}
Para mais informações sobre como modificar as definições de configuração do projeto
para conferir os resultados de compilação individual, consulte a
O recurso REST projects.locations.repositories.compilationResults#CodeCompilationConfig
em
API Dataform.
IRecordDescriptor
Descreve um struct, objeto ou registro em uma tabela com colunas aninhadas.
bigqueryPolicyTags
|
string | string[]
|
Identificadores completos das tags de política do BigQuery aplicados
a essa coluna. Um identificador completo de uma tag de política do BigQuery
inclui o nome do projeto, o local e a taxonomia,
Por exemplo: |
|
columns
|
IColumnsDescriptor
|
Uma descrição das colunas em um struct, objeto ou registro. | |
description
|
string
|
Uma descrição do struct, objeto ou registro. |
ITableAssertions
Opções para criar declarações como parte de uma definição de tabela.
nonNull
|
string | string[]
|
Colunas que nunca podem ser NULL .
Se definido, a declaração correspondente falhará se qualquer linha contiver
|
|
rowConditions
|
string[]
|
Condições gerais que devem ser válidas para todas as linhas da tabela.
Se definido, a declaração correspondente falhará se qualquer linha violar qualquer uma dessas condições. |
|
uniqueKey
|
string | string[]
|
Colunas que constituem o índice de chave exclusiva da tabela.
Se definido, a declaração resultante falhará se houver mais de uma linha. da tabela com os mesmos valores para todas essas colunas. |
|
uniqueKeys
|
[]
|
Combinações de colunas, sendo que cada uma constitui
um índice de chave exclusiva da tabela.
Se definido, a declaração resultante falhará se houver mais de uma linha no da tabela com os mesmos valores para todas as colunas na(s) chave(s) exclusiva(s). |
ITableConfig
Opções de configuração para ações table
, incluindo
Tipos de tabela table
, view
e incremental
.
Estende IActionConfig, IDependenciesConfig, IDocumentableConfig, INamedConfig e ITargetableConfig.
assertions
|
ITableAssertions
|
Declarações a serem executadas na tabela.
Se configuradas, as declarações relevantes serão criadas automaticamente e executar como uma dependência desta tabela. |
|
bigquery
|
IBigQueryOptions
|
Opções de warehouse específicas do BigQuery. | |
columns
|
IColumnsDescriptor
|
Uma descrição das colunas na tabela. | |
database
|
string
|
O banco de dados (ID do projeto do Google Cloud) para criar a saída dessa ação. | |
description
|
string
|
Uma descrição da tabela. | |
disabled
|
boolean
|
Se definida como true , esta ação não será executada.
Ainda é possível depender da ação.
Útil para desativar temporariamente ações corrompidas.
|
|
hermetic
|
boolean
|
Declara se essa ação é hermética. Uma ação é hermética se
todas as dependências são declaradas explicitamente.
Se a ação depende de dados de uma fonte que não foi declarada
como dependência, em seguida, defina |
|
materialized
|
boolean
|
Válido apenas quando o tipo de tabela é view .
Se definido como verdadeiro, uma visualização materializada será criada. |
|
protected
|
boolean
|
Permitido apenas para o tipo de tabela incremental .
Se definida como verdadeira, a execução dessa ação ignorará a opção |
|
schema
|
string
|
O esquema (conjunto de dados do BigQuery) em que criar a saída desta ação. | |
tags
|
string[]
|
Uma lista de tags definidas pelo usuário aplicadas a esta ação. | |
type
|
TableType
|
O tipo da tabela. | |
uniqueKey
|
string[]
|
Chaves exclusivas para critérios de mesclagem de tabelas incrementais.
Se configurados, os registros com chaves exclusivas correspondentes são atualizados em vez de novas linhas serem inseridas. |
ITableContext
Métodos de contexto estão disponíveis ao avaliar códigos SQL contextuais.
como em arquivos SQLX ou ao usar um Contextable
com o núcleo do Dataform.
incremental
|
() => boolean
|
Retorna verdadeiro quando o contexto atual indica que a tabela será construída de forma incremental. | |
name
|
() => string
|
Retorna o nome totalmente qualificado desta tabela. | |
ref
|
(ref: Resolvable | string[], rest: string[]) => string
|
Faz referência a outra ação, adicionando-a como uma dependência desta ação,
retornando um SQL válido para ser usado em uma expressão FROM.
Essa função pode ser chamada com um objeto ${ref({ name: "name", schema: "schema", database: "database" })}
Essa função também pode ser chamada usando argumentos individuais para o
Valores
Quando apenas dois valores são fornecidos, o banco de dados padrão é usado e os valores
são interpretados como Quando apenas um valor é fornecido, o esquema padrão do banco de dados é usado, com o valor fornecido interpretado como "name". ${ref("database", "schema", "name")}
${ref("schema", "name")}
${ref("name")}
|
|
resolve
|
(ref: Resolvable | string[], rest: string[]) => string
|
Semelhante a ref , mas, em vez de adicionar uma dependência,
resolve a referência fornecida para que ela possa ser usada em SQL,
por exemplo, em uma expressão `from`.
|
|
self
|
() => string
|
Equivale a resolve(name()) .
Retorna uma string SQL válida que pode ser usada para referenciar a tabela produzida por essa ação. |
|
when
|
(cond: boolean, trueCase: string, falseCase: string) => string
|
Abreviação de uma condição if .
Equivalente a cond ? trueCase : falseCase .
|
ITarget
Uma referência a uma tabela no BigQuery.
database
|
string
|
name
|
string
|
schema
|
string
|
ITargetableConfig
Define o banco de dados e o esquema de destino de uma ação do fluxo de trabalho SQL.
database
|
string
|
O banco de dados em que a saída desta ação será criada. Precisa ser definido como BigQuery. |
|
schema
|
string
|
O esquema em que a saída desta ação deve ser criada. |
operate()
operate
|
(name: string, queries?: Contextable
|
Define uma operação SQL. Disponível apenas no diretório |
Exemplo:
// definitions/file.js
operate("an-operation", ["SELECT 1", "SELECT 2"])
publish()
publish
|
(name: string, queryOrConfig?: Contextable
|
Cria uma tabela ou visualização. Disponível apenas no diretório |
Exemplo:
// definitions/file.js
publish("published-table", {
type: "table",
dependencies: ["a-declaration"],
}).query(ctx => "SELECT 1 AS test");
Resolva
Uma resolução pode ser o nome de uma tabela como string
,
ou o objeto que descreve o caminho completo para a relação.
string | ITarget
TableType
Tipos de ações de tabela compatíveis.
As tabelas do tipo view
serão criadas como visualizações.
As tabelas do tipo table
serão criadas como tabelas.
As tabelas do tipo incremental
precisam incluir uma cláusula where
.
Para mais informações, consulte
Configurar tabelas incrementais.