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