Linguagem Wrangle

Wrangle é a linguagem específica de domínio usada para criar receitas de transformação no Cloud Dataprep.

Uma receita do Wrangle é uma sequência de transformações, que são aplicadas no seu conjunto de dados para produzir os resultados.

  • Uma transformação é uma ação única aplicada ao seu conjunto de dados. Para a maioria das transformações, você pode passar um ou mais parâmetros para definir o contexto (colunas, linhas ou condições) em que a transformação é aplicada ao seu conjunto de dados.
  • Dentro de alguns parâmetros de uma transformação, você pode especificar uma ou mais funções. Uma função é uma ação computacional realizada em uma ou mais colunas de dados em seu conjunto de dados.
  • Esses termos estão descritos abaixo.
  • As receitas são construídas na página "Transformer". Consulte Página "Transformer".

Quando você seleciona sugestões na página "Transformer", essa seleção é convertida em um comando do Wrangle e adicionada à receita.

Dica: sempre que possível, é preciso fazer seleções na grade de dados para criar etapas de transformação. Essas seleções exigem que uma série de cards seja exibida na parte inferior da tela. Você pode selecionar diferentes cards para especificar uma transformação básica para os dados selecionados, escolher uma variante dessa transformação e, em seguida, modificar a receita Wrangle subjacente conforme necessário. Para mais informações, consulte Visão geral sobre transformação preditiva.

Para mais informações sobre os cartões de sugestão, consulte Painel de cartões de sugestão.

Algumas transformações complexas, como junções e uniões, precisam ser criadas por meio de telas dedicadas. Consulte a página "Transformer".

Sintaxe do Wrangle

As etapas de transformação do Wrangle seguem esta sintaxe geral:

(transform) param1:(expression) param2:(expression)

Elemento de transformaçãoDescrição
transformação

Uma transformação (ou verbo) é uma palavra-chave única que identifica o tipo de alteração que você está aplicando ao conjunto de dados.

  • Uma transformação é sempre a primeira palavra-chave em uma etapa de receita. Veja os detalhes abaixo.

Os outros elementos em cada etapa são parâmetros contextuais para a transformação. Algumas transformações não exigem parâmetros.

parameter1:, parameter2:

Parâmetros adicionais podem ser opcionais ou obrigatórios para qualquer transformação.

OBSERVAÇÃO: um parâmetro é sempre seguido por dois pontos. Ele pode aparecer apenas uma vez em uma etapa de transformação.

Parâmetros comuns

Dependendo da transformação, um ou mais parâmetros de value, col e row podem ser usados. Por exemplo, a transformação set pode usar os três ou apenas value e col.

Elemento de transformaçãoDescrição
value:

Quando presente, o parâmetro value define a expressão que cria o valor ou valores de saída armazenados quando a transformação é executada.

Uma expressão pode conter combinações dos itens abaixo:

  • Funções aplicam cálculos ou avaliações de dados de origem, que podem ser fornecidos como entradas para a coluna. Fontes podem ser constantes ou referências de coluna. Uma referência de função é sempre seguida por parênteses (), mesmo que não tenha parâmetros. Veja abaixo.
  • Operadores são representações de um único caractere de funções numéricas, comparações ou operadores lógicos. Por exemplo, o sinal de mais (+) é o operador para a função de adição. Veja abaixo.
  • Constantes podem ser literais de string entre aspas ('mystring'), valores inteiros (1001), decimais (1001.01), booleanos (true ou false) ou padrões. Para mais informações sobre os padrões do Cloud Dataprep, consulte Correspondência de texto.
col:

Quando presente, o parâmetro col identifica o nome de uma ou mais colunas às quais a transformação é aplicada.

Algumas transformações podem aceitar várias colunas como uma lista, um intervalo de colunas (por exemplo, column1~column5) ou todas as colunas no conjunto de dados (usando o indicador curinga, col: *).

row:Quando presente, o parâmetro de row define a expressão a avaliar para determinar as linhas nas quais executar a transformação. Se a expressão for true para uma linha, a transformação será executada na linha.

Entradas dos parâmetros

Os tipos de entradas de parâmetros a seguir podem ser referenciados nos parâmetros de uma transformação.

Outros tipos de dados do Cloud Dataprep podem ser referenciados como referências de colunas. Você pode inserir valores literais desses tipos de dados nas expressões como strings. As transformações fazem com que os valores resultantes sejam inferidos novamente para o tipo de dados deles.

EntradaDescriçãoExemplo
Referência de coluna

Uma referência aos valores armazenados em uma coluna no conjunto de dados.

As colunas podem ser referenciadas pelo valor de texto simples para o nome da coluna.

O parâmetro value referencia a coluna myCol.

derive value: myCol as:'myNewCol'

Número inteiroUm valor inteiro válido dentro do intervalo de valores aceito para o tipo de dados Integer. Para mais informações, consulte Tipos de dados compatíveis.

Gera uma coluna chamada my13, que é a soma dos valores inteiros 5 e 8:

derive value: (5 + 8) as:'my13'

DecimalUm valor de pontos flutuante válido dentro do intervalo de valores aceito para o tipo de dados Decimal. Para mais informações, consulte Tipos de dados compatíveis.

Gera uma coluna de valores que calcula a circunferência aproximada dos valores na coluna diameter:

derive value: (3.14159 * diameter) as: 'circumference'

BooleanoUm valor true ou false.

Se o valor na coluna de order é superior a 1.000.000, o valor na coluna bigOrder é true.

derive value:IF(order > 1000000, true, false) as:'bigOrder'

String

Um valor literal de string é o tipo de dados de linha de base.

Os literais de string precisam ser colocados entre aspas simples.

Cria uma coluna chamada StringCol que contém o valor myString.

derive value:'myString' as:'StringCol'

Padrão do Cloud Dataprep

O Cloud Dataprep é compatível com uma sintaxe especial, o que simplifica a geração de padrões de correspondência para valores de string.

Os padrões precisam estar colocados entre acentos graves (`MyPattern`).

Para mais informações, consulte Correspondência de texto.

Extrai até 10 valores da coluna MyData que correspondem ao padrão básico para CPFs ou CNPJs (XXX-XX-XXXX):

extract col: MyData on:`%{3}-%{2}-%{4}` limit:10

Expressão regular

Expressões regulares são um padrão comum para definir padrões de correspondência. A Regex é uma ferramenta muito poderosa, mas pode ser facilmente configurada de maneira errada.

As expressões regulares precisam ser colocadas entre barras (/MyPattern/).

Exclui todos os números de dois dígitos da coluna qty:

replace col: qty on: /^\d$|^\d\d$/ with: '' global: true

Data/hora

Um valor de data ou hora válido que corresponde aos requisitos do tipo de dados Datetime. Consulte Tipos de dados compatíveis.

Os valores de data de data podem ser formatados com strings de formatação específicas. Consulte Função DATEFORMAT.

Gera uma nova coluna que contém os valores da coluna myDate no formato yyyymmdd:

derive value:DATEFORMAT(myDate, 'yyyymmdd')

Matriz

Uma matriz válida de valores que correspondem ao tipo de dados Array. Exemplo:


[0,1,2,3,4,5,6,7,8]

Consulte Tipos de dados compatíveis.

Gera uma coluna com o número de elementos na matriz listada (7):

derive value: ARRAYLEN('["red", "orange", "yellow", "green", "blue", "indigo", "violet"]')

Objeto

Um conjunto válido de valores que correspondem ao tipo de dados de objeto. Exemplo:


{"brand":"Subaru","model":"Impreza","color","green"}

Consulte Tipos de dados compatíveis.

Gera colunas separadas para cada uma das chaves especificadas no objeto (brand, model, color), contendo o valor correspondente para cada linha:

unnest col:myCol keys:'brand','model','color'

Interações entre o Wrangle e o aplicativo

  1. Ao inserir as etapas do Wrangle no Transform Builder, a sintaxe é validada para você. Não é possível adicionar etapas que contenham sintaxe inválida.
    1. As mensagens de erro são relatadas ao aplicativo para que você possa fazer modificações imediatas para corrigir o problema.
    2. O recurso de preenchimento automático pode oferecer orientação às transformações, às funções e às referências de coluna compatíveis.
    3. Para mais informações, consulte Transform Builder.
  2. Quando você insere uma etapa de transformação válida, os resultados são visualizados na grade de dados.
    1. Essa visualização é gerada aplicando a transformação à amostra na grade de dados.

      OBSERVAÇÃO: o resultado gerado aplica-se apenas aos valores exibidos na grade de dados. A função é aplicada em todo o conjunto de dados somente durante a execução do job.

      OBSERVAÇÃO: a transformação é aplicada usando o ambiente em execução selecionado atualmente. Pode haver pequenas diferenças nos resultados se você executar o job completo em um ambiente em execução diferente.

    2. Se a transformação visualizada for inválida, a grade de dados ficará esmaecida.
    3. Para mais informações, consulte Visualização de transformação.
  3. Quando você adiciona a transformação à receita:
    1. ele é aplicado à amostra no aplicativo e a grade de dados é atualizada para o estado atual;
    2. os histogramas de coluna são atualizados com os novos valores e contagens;
    3. os tipos de dados de coluna podem ser inferidos novamente para as colunas afetadas;
  4. Fazer mudanças:
    1. Você pode editar qualquer etapa de transformação na receita quando necessário.
      1. Quando você edita uma etapa de transformação na receita, o contexto da grade de dados é alterado para exibir o estado dos dados até o ponto de visualização da etapa que você está editando.
      2. Todas as etapas subsequentes ainda são parte da receita, mas não são aplicadas na amostra, por enquanto.
      3. Você pode inserir etapas de receita entre etapas existentes.
    2. Quando você exclui uma etapa de receita, o estado permanece no ponto em que a etapa foi removida.
      1. Você pode inserir uma nova etapa, se necessário.
      2. Quando você completar a edição, selecione a etapa final da receita. Isso exibe os resultados de todas as etapas de transformação na grade de dados. As alterações podem fazer com que algumas etapas da receita se tornem inválidas.
    3. Consulte Painel da Receita.

Transformações

Uma transformação, ou verbo, é uma ação aplicada a linhas ou colunas dos dados. As transformações são o conjunto essencial de mudanças que você pode aplicar ao conjunto de dados. Para mais informações, consulte Transformações.

Categorias de função

Uma função é uma ação aplicada a um conjunto de valores como parte de uma etapa de transformação. As funções podem ser aplicadas aos valores em uma transformação para tipos de dados específicos, como strings, ou tipos de transformações, como categorias de função Aggregate e Window. Uma função não pode ser aplicada a dados sem uma transformação.

Categoria de funçãoDescrição

Funções Aggregate

Essas funções são usadas para executar cálculos de agregação nos seus dados, como soma, média e desvio padrão.
Funções ComparisonEssas funções permitem a avaliação entre dois elementos de dados que normalmente são aninhados (Object ou Array).
Funções MathExecute cálculos nos dados usando várias funções matemáticas e operadores numéricos.
Funções DateUse essas funções para extrair dados de objetos do tipo de dados Datetime ou executar operações neles.
Funções StringManipule strings, o que inclui encontrar substrings dentro de uma string.
Funções NestedEssas funções foram projetadas especificamente para ajudar a converter dados aninhados, como objetos, matrizes ou elementos JSON.
Funções TypeUse as funções Type para identificar valores válidos, faltantes, incompatíveis e nulos.
Funções WindowAs funções Window permitem que você execute cálculos em janelas relativas de dados dentro do conjunto de dados.
Outras funçõesFunções diversas que não se encaixam nas outras categorias

Categorias de operador

Um operador é um caractere único que representa uma função aritmética. Por exemplo, o sinal de mais (+) representa a função de adição.

Categoria de operadorDescrição
Operadores lógicosOperadores and, or, e not
Operadores numéricosAdicionar, subtrair, multiplicar e dividir
Operadores de comparaçãoCompare dois valores com os operadores greater than, equals, not equals e less than
Operadores ternáriosUse operadores ternários para criar lógica if/then/else nas suas transformações.

Documentação

A documentação do Wrangle também está disponível pelo Cloud Dataprep. Selecione o menu Ajuda > Documentos do produto.

Dica: ao procurar exemplos de transformações e funções, tente usar as formas a seguir para seus termos de pesquisa no site de documentos do produto:

  • Transformações: wrangle_transform_NameOfTransform
  • Funções: wrangle_function_NameOfFunction

Todos os tópicos

Tópicos:

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Google Cloud Dataprep
Precisa de ajuda? Acesse nossa página de suporte.