View a markdown version of this page

OPERAÇÃO_BOOLEANA - AWS Glue DataBrew Guia do Desenvolvedor

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

OPERAÇÃO_BOOLEANA

Crie uma nova coluna, com base no resultado da condição lógica IF. Retorne valor verdadeiro se a expressão booleana for verdadeira, valor falso se a expressão booleana for falsa ou retorne um valor personalizado.

Parâmetros
  • trueValueExpression— Resultado quando a condição for atendida.

  • falseValueExpression— Resultado quando a condição não é atendida.

  • valueExpression— Condição booleana.

  • withExpressions— Configuração para resultados agregados.

  • targetColumn: um nome para a coluna recém-criada.

Você pode usar valores constantes, referências de coluna e resultados agregados em trueValueExpression, false ValueExpression e ValueExpression.

exemplo Exemplo: valores constantes

Valores que permanecem inalterados, como um número ou uma frase.

{ "RecipeStep": { "Action": { "Operation": "BOOLEAN_OPERATION", "Parameters": { "trueValueExpression": "It is true.", "falseValueExpression": "It is false.", "valueExpression": "`column.1` < 2000", "targetColumn": "result.column" } } } }
exemplo Exemplo: referências de coluna

Valores que são colunas no conjunto de dados.

{ "RecipeStep": { "Action": { "Operation": "BOOLEAN_OPERATION", "Parameters": { "trueValueExpression": "`column.2`", "falseValueExpression": "`column.3`", "valueExpression": "`column.1` < `column.4`", "targetColumn": "result.column" } } } }
exemplo Exemplo: resultados agregados

Valores que são calculados por funções agregadas. Uma função agregada executa um cálculo em uma coluna e retorna um único valor.

{ "RecipeStep": { "Action": { "Operation": "BOOLEAN_OPERATION", "Parameters": { "trueValueExpression": "`:mincolumn.2`", "falseValueExpression": "`:maxcolumn.3`", "valueExpression": "`column.1` < `:avgcolumn.4`", "withExpressions": "[{\"name\":\"mincolumn.2\",\"value\":\"min(`column.2`)\",\"type\":\"aggregate\"},{\"name\":\"maxcolumn.3\",\"value\":\"max(`column.3`)\",\"type\":\"aggregate\"},{\"name\":\"avgcolumn.4\",\"value\":\"avg(`column.4`)\",\"type\":\"aggregate\"}]", "targetColumn": "result.column" } } } }

Os usuários precisam converter o JSON em uma string escapando.

Observe que os nomes dos parâmetros em true ValueExpressionValueExpression, false e valueExpression devem corresponder aos nomes em withExpressions. Para usar os resultados agregados de algumas colunas, você precisa criar parâmetros para elas e fornecer as funções agregadas.

exemplo Exemplo:
{ "RecipeStep": { "Action": { "Operation": "BOOLEAN_OPERATION", "Parameters": { "trueValueExpression": "It is true.", "falseValueExpression": "It is false.", "valueExpression": "`column.1` < 2000", "targetColumn": "result.column" } } } }
exemplo Exemplo: and/or.

Você pode usar e e ou para combinar várias condições.

{ "RecipeStep": { "Action": { "Operation": "BOOLEAN_OPERATION", "Parameters": { "trueValueExpression": "It is true.", "falseValueExpression": "It is false.", "valueExpression": "`column.1` < 2000 and `column.2` >= `column.3", "targetColumn": "result.column" } } } } { "RecipeStep": { "Action": { "Operation": "BOOLEAN_OPERATION", "Parameters": { "trueValueExpression": "`column.4`", "falseValueExpression": "`column.5`", "valueExpression": "startsWith(`column1`, 'value1') or endsWith(`column2`, 'value2')", "targetColumn": "result.column" } } } }

Funções agregadas válidas

A tabela abaixo mostra todas as funções agregadas válidas que podem ser usadas em uma operação booleana.

Tipo de coluna Condição Expressão de valor Com expressões Valor de retorno

Numérico

Soma

`:sum.column.1`

[ { "name": "sum.column.1", "value": "sum(`column.1`)", "type": "aggregate" } ]

Retorna a soma de column.1

Média

`:mean.column.1`

[ { "name": "mean.column.1", "value": "avg(`column.1`)", "type": "aggregate" } ]

Retorna a média de column.1

Desvio médio absoluto

`:desvio absoluto médio.column.1`

[ { "name": "meanabsolutedeviation.column.1", "value": "mean_absolute_deviation(`column.1`)", "type": "aggregate" } ]

Retorna o desvio médio absoluto de column.1

Mediana

`:median.column.1`

[ { "name": "median.column.1", "value": "median(`column.1`)", "type": "aggregate" } ]

Retorna a mediana de column.1

Produto

`:product.column.1`

[ { "name": "product.column.1", "value": "product(`column.1`)", "type": "aggregate" } ]

Retorna o produto de column.1

Desvio padrão

`:desvio-padrão.column.1`

[ { "name": "standarddeviation.column.1", "value": "stddev(`column.1`)", "type": "aggregate" } ]

Retorna o desvio padrão de column.1

Variação

`:variance.column.1`

[ { "name": "variance.column.1", "value": "variance(`column.1`)", "type": "aggregate" } ]

Retorna a variância de column.1

Erro padrão da média

`:erro padrão de mean.column.1`

[ { "name": "standarderrorofmean.column.1", "value": "standard_error_of_mean(`column.1`)", "type": "aggregate" } ]

Retorna o erro padrão da média de column.1

Distorção

`:skewness.column.1`

[ { "name": "skewness.column.1", "value": "skewness(`column.1`)", "type": "aggregate" } ]

Retorna a distorção de column.1

Curtose

`:curtosis.column.1`

[ { "name": "kurtosis.column.1", "value": "kurtosis(`column.1`)", "type": "aggregate" } ]

Retorna a curtose de column.1

Datetime/Numeric/Text

Contagem

`:count.column.1`

[ { "name": "count.column.1", "value": "count(`column.1`)", "type": "aggregate" } ]

Retorna o número total de linhas em column.1

Contagem de distintos

`:countdistinct.column.1`

[ { "name": "count.column.1", "value": "count(distinct `column.1`)", "type": "aggregate" } ]

Retorna o número total de linhas distintas em column.1

Mín.

`:min.column.1`

[ { "name": "min.column.1", "value": "min(`column.1`)", "type": "aggregate" } ]

Retorna o valor mínimo de column.1

Máx

`:max.column.1`

[ { "name": "max.column.1", "value": "max(`column.1`)", "type": "aggregate" } ]

Retorna o valor máximo de column.1

Condições válidas em uma ValueExpression

A tabela abaixo mostra as condições suportadas e as expressões de valor que você pode usar.

Tipo de coluna Condição Expressão de valor Description

String

Contém

contém (`coluna`, 'texto')

Condição para testar se o valor na coluna contém texto

Não contém

! contém (`coluna`, 'texto')

Condição para testar se o valor na coluna não contém texto

Correspondências

correspondências (`coluna`, 'padrão')

Condição para testar se o valor na coluna corresponde ao padrão

Não coincide

! correspondências (`coluna`, 'padrão')

Condição para testar se o valor na coluna não corresponde ao padrão

Inicia com

StartsWith (`coluna`, 'texto')

Condição para testar se o valor na coluna começa com texto

Não começa com

! StartsWith (`coluna`, 'texto')

Condição para testar se o valor na coluna não começa com texto

Termina com

endsWith (`coluna`, 'texto')

Condição para testar se o valor na coluna termina com texto

Não termina com

! endsWith (`coluna`, 'texto')

Condição para testar se o valor na coluna não termina com texto

Numérico

Menor que

`coluna` < número

Condição para testar se o valor na coluna é menor que o número

Menor ou igual a

`coluna` <= número

Condição para testar se o valor na coluna é menor ou igual ao número

Maior que

`coluna` > número

Condição para testar se o valor na coluna é maior que o número

Maior ou igual a

`coluna` >= número

Condição para testar se o valor na coluna é maior ou igual ao número

Está entre

isBetween (`coluna`, minNumber, maxNumber)

Condição para testar se o valor na coluna está entre minNumber e maxNumber

Não está entre

! isBetween (`coluna`, minNumber, maxNumber)

Condição para testar se o valor na coluna não está entre minNumber e maxNumber

Booleano

É verdade

`coluna` = VERDADEIRO

Condição para testar se o valor na coluna é booleano TRUE

É falso

`coluna` = FALSO

Condição para testar se o valor na coluna é booleano FALSE

Date/Timestamp

Antes de

`coluna` < 'data'

Condição para testar se o valor na coluna é anterior à data

Anterior ou igual a

`coluna` <= 'data'

Condição para testar se o valor na coluna é anterior ou igual à data

Mais tarde do que

`coluna` > 'data'

Condição para testar se o valor na coluna é posterior à data

Mais tarde ou igual a

`coluna` >= 'data'

Condição para testar se o valor na coluna é posterior ou igual à data

String/Numeric/Date/Timestamp

É exatamente

`coluna` = 'valor'

Condição para testar se o valor na coluna é exatamente o valor

Não é

`coluna`! = 'valor'

Condição para testar se o valor na coluna não é valor

Está faltando

IsMissing (`coluna`)

Condição para testar se o valor na coluna está ausente

Não está faltando

! IsMissing (`coluna`)

Condição para testar se o valor na coluna não está ausente

É válido

isValid (`coluna`, tipo de dados)

Condição para testar se o valor na coluna é válido (o valor é do tipo de dados ou pode ser convertido em tipo de dados)

Não é válido

! isValid (`coluna`, tipo de dados)

Condição para testar se o valor na coluna não é válido (o valor é do tipo de dados ou pode ser convertido em tipo de dados)

Aninhado

Está faltando

IsMissing (`coluna`)

Condição para testar se o valor na coluna está ausente

Não está faltando

! IsMissing (`coluna`)

Condição para testar se o valor na coluna não está ausente

É válido

isValid (`coluna`, tipo de dados)

Condição para testar se o valor na coluna é válido (o valor é do tipo de dados ou pode ser convertido em tipo de dados)

Não é válido

! isValid (`coluna`, tipo de dados)

Condição para testar se o valor na coluna não é válido (o valor é do tipo de dados ou pode ser convertido em tipo de dados)