comando dedup - OpenSearch Servicio Amazon

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

comando dedup

nota

Para ver qué integraciones AWS de fuentes de datos admiten este PPL comando, consulte. Comandos

Utilice el dedup comando para eliminar documentos idénticos de los resultados de la búsqueda en función de los campos especificados.

Sintaxis

Utilice la siguiente sintaxis:

dedup [int] <field-list> [keepempty=<bool>] [consecutive=<bool>]
int
  • Opcional.

  • El dedup comando conserva varios eventos para cada combinación cuando se especifica<int>. El número de <int>debe ser superior a 0. Si no especifica un número, solo se conserva el primer evento que se produzca. Todos los demás duplicados se eliminan de los resultados.

  • Valor predeterminado: 1

keepempty
  • Opcional.

  • Si es verdadero, mantiene los documentos en los que cualquier campo de la lista de campos tenga un NULL valor o esté. MISSING

  • Predeterminado: false

consecutive
  • Opcional.

  • Si es verdadero, elimina solo los eventos con combinaciones de valores duplicadas consecutivas.

  • Predeterminado: false

field-list
  • Obligatorio.

  • Lista de campos delimitados por comas. Se requiere al menos un campo.

Ejemplo 1: Deducir por un campo

En este ejemplo se muestra cómo desduplicar documentos mediante el campo de género.

PPLconsulta:

os> source=accounts | dedup gender | fields account_number, gender; fetched rows / total rows = 2/2 +------------------+----------+ | account_number | gender | |------------------+----------| | 1 | M | | 13 | F | +------------------+----------+
Ejemplo 2: conservar 2 documentos duplicados

En el ejemplo se muestra cómo descomponer los documentos con el campo de género, conservando dos duplicados.

PPLconsulta:

os> source=accounts | dedup 2 gender | fields account_number, gender; fetched rows / total rows = 3/3 +------------------+----------+ | account_number | gender | |------------------+----------| | 1 | M | | 6 | M | | 13 | F | +------------------+----------+
Ejemplo 3: Mantener o ignorar el campo vacío de forma predeterminada

En el ejemplo se muestra cómo descomprimir el documento manteniendo el campo de valor nulo.

PPLconsulta:

os> source=accounts | dedup email keepempty=true | fields account_number, email; fetched rows / total rows = 4/4 +------------------+-----------------------+ | account_number | email | +------------------+-----------------------+ | 1 | john_doe@example.com | | 6 | jane_doe@example.com | | 13 | null | | 18 | juan_li@example.com | +------------------+-----------------------+

El ejemplo muestra cómo desduplicar el documento ignorando el campo de valor vacío.

PPLconsulta:

os> source=accounts | dedup email | fields account_number, email; fetched rows / total rows = 3/3 +------------------+-----------------------+ | account_number | email | +------------------+-----------------------+ | 1 | john_doe@example.com | | 6 | jane_doe@example.com | | 18 | juan_li@example.com | +------------------+-----------------------+
Ejemplo 4: Deduplicación en documentos consecutivos

En el ejemplo se muestra cómo descomponer documentos consecutivos.

PPLconsulta:

os> source=accounts | dedup gender consecutive=true | fields account_number, gender; fetched rows / total rows = 3/3 +------------------+----------+ | account_number | gender | +------------------+----------+ | 1 | M | | 13 | F | | 18 | M | +------------------+----------+
Ejemplos adicionales
  • source = table | dedup a | fields a,b,c

  • source = table | dedup a,b | fields a,b,c

  • source = table | dedup a keepempty=true | fields a,b,c

  • source = table | dedup a,b keepempty=true | fields a,b,c

  • source = table | dedup 1 a | fields a,b,c

  • source = table | dedup 1 a,b | fields a,b,c

  • source = table | dedup 1 a keepempty=true | fields a,b,c

  • source = table | dedup 1 a,b keepempty=true | fields a,b,c

  • source = table | dedup 2 a | fields a,b,c

  • source = table | dedup 2 a,b | fields a,b,c

  • source = table | dedup 2 a keepempty=true | fields a,b,c

  • source = table | dedup 2 a,b keepempty=true | fields a,b,c

  • source = table | dedup 1 a consecutive=true| fields a,b,c(no se admite la deduplicación consecutiva)

Limitación
  • En | dedup 2 a, b keepempty=false

    DataFrameDropColumns('_row_number_) +- Filter ('_row_number_ <= 2) // allowed duplication = 2 +- Window [row_number() windowspecdefinition('a, 'b, 'a ASC NULLS FIRST, 'b ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS _row_number_], ['a, 'b], ['a ASC NULLS FIRST, 'b ASC NULLS FIRST] +- Filter (isnotnull('a) AND isnotnull('b)) // keepempty=false +- Project +- UnresolvedRelation
  • En | dedup 2 a, b keepempty=true

    Union :- DataFrameDropColumns('_row_number_) : +- Filter ('_row_number_ <= 2) : +- Window [row_number() windowspecdefinition('a, 'b, 'a ASC NULLS FIRST, 'b ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS _row_number_], ['a, 'b], ['a ASC NULLS FIRST, 'b ASC NULLS FIRST] : +- Filter (isnotnull('a) AND isnotnull('b)) : +- Project : +- UnresolvedRelation +- Filter (isnull('a) OR isnull('b)) +- Project +- UnresolvedRelation