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á.
Funções do PPL função do Lambda
nota
Para ver quais integrações AWS de fontes de dados oferecem suporte a essa PPL função, consulteFunções.
EXISTS
Uso: exists(array,
lambda)
avalia se um predicado Lambda é válido para um ou mais elementos na matriz.
Tipo de argumento:ARRAY, LAMBDA
Tipo de devolução:BOOLEAN. TRUE
Caso contrário, retorna se pelo menos um elemento na matriz satisfaz o predicado Lambda. FALSE
Exemplos:
os> source=people | eval array = json_array(1, -1, 2), result = exists(array, x -> x > 0) | fields result fetched rows / total rows = 1/1 +-----------+ | result | +-----------+ | true | +-----------+ os> source=people | eval array = json_array(-1, -3, -2), result = exists(array, x -> x > 0) | fields result fetched rows / total rows = 1/1 +-----------+ | result | +-----------+ | false | +-----------+
FILTER
Uso: filter(array,
lambda)
filtra a matriz de entrada usando a função Lambda fornecida.
Tipo de argumento:ARRAY, LAMBDA
Tipo de devolução:ARRAY. Um ARRAY que contém todos os elementos na matriz de entrada que satisfazem o predicado lambda.
Exemplos:
os> source=people | eval array = json_array(1, -1, 2), result = filter(array, x -> x > 0) | fields result fetched rows / total rows = 1/1 +-----------+ | result | +-----------+ | [1, 2] | +-----------+ os> source=people | eval array = json_array(-1, -3, -2), result = filter(array, x -> x > 0) | fields result fetched rows / total rows = 1/1 +-----------+ | result | +-----------+ | [] | +-----------+
TRANSFORM
Uso: transform(array,
lambda)
transforma elementos em uma matriz usando a função de transformação Lambda. O segundo argumento implica o índice do elemento se estiver usando a função Lambda binária. Isso é semelhante ao map
da programação funcional.
Tipo de argumento:ARRAY, LAMBDA
Tipo de devolução:ARRAY. Um ARRAY que contém o resultado da aplicação da função de transformação lambda a cada elemento na matriz de entrada.
Exemplos:
os> source=people | eval array = json_array(1, 2, 3), result = transform(array, x -> x + 1) | fields result fetched rows / total rows = 1/1 +--------------+ | result | +--------------+ | [2, 3, 4] | +--------------+ os> source=people | eval array = json_array(1, 2, 3), result = transform(array, (x, i) -> x + i) | fields result fetched rows / total rows = 1/1 +--------------+ | result | +--------------+ | [1, 3, 5] | +--------------+
REDUCE
Uso: reduce(array, start,
merge_lambda, finish_lambda)
reduz uma matriz a um único valor aplicando funções lambda. A função aplica o merge_lambda ao valor inicial e a todos os elementos da matriz e, em seguida, aplica o ao finish_lambda
resultado.
Tipo de argumento:ARRAY,ANY,LAMBDA, LAMBDA
Tipo de devolução:ANY. O resultado final da aplicação das funções Lambda ao valor inicial e à matriz de entrada.
Exemplos:
os> source=people | eval array = json_array(1, 2, 3), result = reduce(array, 0, (acc, x) -> acc + x) | fields result fetched rows / total rows = 1/1 +-----------+ | result | +-----------+ | 6 | +-----------+ os> source=people | eval array = json_array(1, 2, 3), result = reduce(array, 10, (acc, x) -> acc + x) | fields result fetched rows / total rows = 1/1 +-----------+ | result | +-----------+ | 16 | +-----------+ os> source=people | eval array = json_array(1, 2, 3), result = reduce(array, 0, (acc, x) -> acc + x, acc -> acc * 10) | fields result fetched rows / total rows = 1/1 +-----------+ | result | +-----------+ | 60 | +-----------+