comando de expansão - OpenSearch Serviço Amazon

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

comando de expansão

nota

Para ver quais integrações AWS de fontes de dados oferecem suporte a essa PPL função, consulteFunções.

Use o expand comando para nivelar um campo do tipo Matriz <Any>ou Mapa<Any>, produzindo linhas individuais para cada elemento ou par de valores-chave.

Sintaxe

Use a seguinte sintaxe:

expand <field> [As alias]
Campo
  • O campo a ser expandido (explodido).

  • O campo deve ser de um tipo compatível.

alias
  • Opcional.

  • O nome a ser usado em vez do nome do campo original.

Diretrizes de uso

O comando expand produz uma linha para cada elemento na matriz ou no campo de mapa especificado, onde:

  • Os elementos da matriz se tornam linhas individuais.

  • Os pares de valores-chave do mapa são divididos em linhas separadas, com cada valor-chave representado como uma linha.

  • Quando um alias é fornecido, os valores explodidos são representados sob o alias em vez do nome do campo original.

Você pode usar esse comando em combinação com outros comandos, como stats, eval e parse, para manipular ou extrair dados após a expansão.

Exemplos
  • source = table | expand employee | stats max(salary) as max by state, company

  • source = table | expand employee as worker | stats max(salary) as max by state, company

  • source = table | expand employee as worker | eval bonus = salary * 3 | fields worker, bonus

  • source = table | expand employee | parse description '(?<email>.+@.+)' | fields employee, email

  • source = table | eval array=json_array(1, 2, 3) | expand array as uid | fields name, occupation, uid

  • source = table | expand multi_valueA as multiA | expand multi_valueB as multiB

Você pode usar o comando expand em combinação com outros comandos, como eval, stats e muito mais. O uso de vários comandos de expansão criará um produto cartesiano de todos os elementos internos em cada matriz ou mapa composto.

Consulta SQL push down eficaz

O comando expand é traduzido em uma SQL operação equivalente usando LATERAL VIEW explode, permitindo a explosão eficiente de matrizes ou mapas no nível da SQL consulta.

SELECT customer exploded_productId FROM table LATERAL VIEW explode(productId) AS exploded_productId

O comando explode oferece as seguintes funcionalidades:

  • É uma operação de coluna que retorna uma nova coluna.

  • Ele cria uma nova linha para cada elemento na coluna explodida.

  • Nulos internos são ignorados como parte do campo explodido (nenhuma linha é criada/explodida para nulo).