Referencia de Operadores de Función de Tabla
El operador de función de tabla proporciona una lista de funciones de tabla incorporadas que puede utilizar en un flujo de datos para devolver datos en forma de tablas.
Consulte Operador de Función de Tabla.
A continuación, se muestra una lista de las funciones de tabla incorporadas soportadas por el operador de función de tabla.
Persiste y almacena en caché un juego de datos según el almacenamiento de memoria proporcionado level
.
Devuelve un nuevo conjunto de datos en el conjunto de datos distribuido resistente (RDD) almacenado en caché.
Parámetro | Descripción |
---|---|
level |
Almacenamiento de memoria para utilizar:
|
Calcula una tabla de frecuencia o una tabla de contingencia por pares a partir de valores distintos de las dos columnas proporcionadas.
El número de valores distintos para cada columna debe ser menor que 1e4.
Devuelve un marco de datos que contiene la tabla de contingencia. En la tabla de contingencias:
- El nombre de la primera columna es
col1_col2
, dondecol1
es la primera columna ycol2
es la segunda columna antes de la transformación. La primera columna de cada fila son los valores distintos decol1
. - Los demás nombres de columna son los valores distintos de
col2
. - Los recuentos se devuelven como tipo
long
. - A los pares sin incidencias se les asigna cero como recuento.
- El número máximo de pares distintos de cero es 1e6.
- Los elementos nulos se sustituyen por
null
.
Parámetro | Descripción |
---|---|
col1 |
Nombre de la primera columna. Consulte la nota que aparece después de esta tabla para ver las limitaciones. Los elementos distintos de |
col2 |
Nombre de la segunda columna. Consulte la nota que aparece después de esta tabla para ver las limitaciones. Distintos elementos de |
Solo se permiten los siguientes caracteres en un nombre de columna:
- letras minúsculas y mayúsculas
a-z
A-Z
- Números
0-9
- guión bajo
_
Ejemplo
Supongamos que col1
es age
y col2
es salary
.
Antes de la transformación:
+---+------+
|age|salary|
+---+------+
|1 |100 |
|1 |200 |
|2 |100 |
|2 |100 |
|2 |300 |
|3 |200 |
|3 |300 |
+---+------+
Después de la transformación:
+----------+---+---+---+
|age_salary|100|200|300|
+----------+---+---+---+
|2 |2 |0 |1 |
|1 |1 |1 |0 |
|3 |0 |1 |1 |
+----------+---+---+---+
Genera un cubo multidimensional de todas las combinaciones posibles mediante la lista de columnas proporcionada y los cálculos en las expresiones de función de agregación proporcionadas.
Las expresiones admiten las siguientes funciones de agregación:
AVG
COUNT
MEAN
MAX
MIN
SUM
Devuelve un marco de datos después de la transformación del cubo.
Parámetro | Descripción |
---|---|
cubeColumns |
Lista de columnas, separadas por comas, por las que se genera el cubo multidimensional. |
aggExpressions |
Expresiones de función de agregación que se van a realizar en las columnas. Por ejemplo: |
Ejemplo
Antes de la transformación:
+----------+-----+-------+------+---+
|department|group|region |salary|age|
+----------+-----+-------+------+---+
|Eng |A |local |1000 |10 |
|Art |B |foreign|2000 |11 |
|Sport |C |local |1500 |13 |
|Eng |A |foreign|800 |19 |
|Art |A |foreign|3000 |30 |
|Eng |E |foreign|1000 |21 |
|Art |D |local |1000 |32 |
|Sport |C |local |1000 |28 |
+----------+-----+-------+------+---+
Si cubeColumns
es department, region
y aggExpressions
essalary -> avg, age -> max
(cálculo del salario medio y la edad máxima), el cubo de transformación posterior es:
+----------+-------+-----------------+--------+
|department|region |avg(salary) |max(age)|
+----------+-------+-----------------+--------+
|Eng |foreign|900.0 |21 |
|Sport |null |1250.0 |28 |
|Art |null |2000.0 |32 |
|Eng |null |933.3333333333334|21 |
|null |local |1125.0 |32 |
|Art |foreign|2500.0 |30 |
|null |foreign|1700.0 |30 |
|Eng |local |1000.0 |10 |
|null |null |1412.5 |32 |
|Sport |local |1250.0 |28 |
|Art |local |1000.0 |32 |
+----------+-------+-----------------+--------+
Genera datos sintéticos mediante el contenido y el formato de archivo proporcionados. Los formatos de archivo admitidos son:
- CSV
- JSON
Devuelve una entidad de datos. El origen de datos sintético se puede utilizar en pruebas unitarias de pipeline en las que no se utilizan ni se mueven datos reales.
Parámetro | Descripción |
---|---|
format |
Tipo de archivo. Los valores soportados son:
|
content |
Contenido del archivo para el formato especificado. |
Ejemplo
Ejemplo de contenido CSV:
co1,co2,co3
1,B,3
A,2,C
Resultado de generación de datos:
+---+---+---+
|co1|co2|co3|
+---+---+---+
|1 |B |3 |
+---+---+---+
|A |2 |C |
+---+---+---+
Busca duplicados en la lista de columnas o columnas proporcionadas y devuelve un nuevo juego de datos con las filas duplicadas eliminadas.
Parámetro | Descripción |
---|---|
columns |
Un nombre de columna o una lista separada por comas de nombres de columna. |
Ejemplo
Antes de la transformación:
+---+---+
|a |b |
+---+---+
|1 |2 |
|3 |4 |
|1 |3 |
|2 |4 |
+---+---+
Si columns
es a
, el juego de datos después de la transformación es:
+---+---+
|a |b |
+---+---+
|1 |2 |
|3 |4 |
|2 |4 |
+---+---+
Busca elementos frecuentes en la columna o la lista de columnas proporcionadas con la frecuencia mínima especificada.
El algoritmo de recuento de elementos frecuentes propuesto por Karl et al. se utiliza para encontrar elementos frecuentes. Los falsos positivos son posibles.
Devuelve un marco de datos con una matriz de elementos frecuentes para cada columna.
Parámetro | Descripción |
---|---|
freqItems |
Nombre de columna o lista separada por comas de nombres de columna para los que desea buscar elementos frecuentes. |
support |
Frecuencia mínima para considerar frecuente un ítem. El valor debe ser mayor que 1e-4 (valor decimal de Por ejemplo, |
Ejemplo
Antes de la transformación:
+-------+--------------+
|user_id|favorite_fruit|
+-------+--------------+
| 1| apple|
| 2| banana|
| 3| apple|
| 4| orange|
| 5| banana|
| 6| banana|
| 7| apple|
+-------+--------------+
Si freqItems
es favorite_fruit
y support
es 0.6
, el marco de datos devuelto después de la transformación es:
+------------------------+
|favorite_fruit_freqItems|
+------------------------+
| [banana]|
+------------------------+
Elimina las filas que contienen valores nulos o NaN en la lista de columnas o columnas proporcionadas.
Devuelve un marco de datos que excluye las filas.
Parámetro | Descripción |
---|---|
how |
Cómo determinar si se va a borrar una fila. Los valores soportados son:
El parámetro |
cols |
Un nombre de columna o una lista separada por comas de nombres de columna. |
minNonNulls |
Número mínimo de valores no nulos y no NaN que puede contener una fila. Borra las filas que contienen menos del mínimo especificado. El parámetro |
Ejemplo
Antes de la transformación:
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|2 |null |28 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Si how
es any
y cols
es name
, el marco de datos devuelto después de la transformación es:
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Al utilizar el parámetro how
con el valor all
, se borra una fila solo si todos sus valores son nulos. Por ejemplo, antes de la transformación:
+----+--------+----+
| id| name| age|
+----+--------+----+
| 1|John Doe| 30|
| 2| null|null|
| 3|Jane Doe| 25|
| 4|Jake Doe|null|
|null| null|null|
+----+--------+----+
Después de la transformación:
+---+--------+----+
| id| name| age|
+---+--------+----+
| 1|John Doe| 30|
| 2| null|null|
| 3|Jane Doe| 25|
| 4|Jake Doe|null|
+---+--------+----+
Sustituye los valores nulos y devuelve un marco de datos mediante los valores sustituidos.
Parámetro | Descripción |
---|---|
replacement |
Asignación de clave-valor que se utilizará para sustituir valores nulos. La clave es un nombre de columna. El valor es un valor de sustitución. La clave apunta al valor de sustitución. Por ejemplo: Se convierte un valor de sustitución en el tipo de dato de la columna. Un valor de sustitución debe ser del siguiente tipo:
|
Ejemplo
Antes de la transformación:
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|2 |null |28 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Si la asignación de clave-valor es la siguiente:
id -> 3
name -> unknown
age -> 10
Después de la transformación:
+---+-------+---+
|id |name |age|
+---+-------+---+
|1 |Alice |25 |
|2 |unknown|28 |
|3 |Bob |10 |
|4 |Charlie|30 |
+---+-------+---+
Sustituye un valor por otro valor en la columna o columnas proporcionadas haciendo coincidir las claves en la clave y la asignación de valores de sustitución proporcionadas.
Devuelve un nuevo marco de datos que contiene la transformación sustituida.
Parámetro | Descripción |
---|---|
cols |
Nombre de columna o lista separada por comas de nombres de columna sobre los que aplicar valores de sustitución. Si |
replacement |
Asignación de clave-valor de sustitución que se va a utilizar. La clave es un valor para sustituir. El valor es el valor de sustitución. El valor de asignación puede tener valores nulos. La clave apunta al valor de sustitución. Por ejemplo: El par de clave y valor de sustitución debe tener el mismo tipo. Solo se admiten los siguientes tipos:
|
Ejemplo
Antes de la transformación:
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|2 |null |28 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Si cols
es name
y replacement
es Alice -> Tom
, el marco de datos después de la transformación es:
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Tom |25 |
|2 |null |28 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Divide un juego de datos por las columnas proporcionadas en el número especificado de particiones.
Devuelve un nuevo juego de datos particionado hash. Se devuelve el número exacto de partición especificado.
Parámetro | Descripción |
---|---|
partitionColumns |
Nombre de columna o lista separada por comas de nombres de columna por los que se particiona el juego de datos. |
numberOfPartitions |
Número de particiones que se van a crear. |
Genera una acumulación multidimensional de posibles combinaciones mediante la lista de columnas proporcionada y los cálculos en las expresiones de función de agregación proporcionadas.
Las expresiones admiten las siguientes funciones de agregación:
AVG
COUNT
MEAN
MAX
MIN
SUM
Devuelve un marco de datos después de la transformación de acumulación.
Parámetro | Descripción |
---|---|
rollupColumns |
Lista de columnas, separadas por comas, por la que se genera la acumulación multidimensional. |
aggExpressions |
Expresiones de función de agregación que se van a realizar en las columnas. Por ejemplo: |
Ejemplo
Antes de la transformación:
+----------+-----+-------+------+---+
|department|group|region |salary|age|
+----------+-----+-------+------+---+
|Eng |A |local |1000 |10 |
|Art |B |foreign|2000 |11 |
|Sport |C |local |1500 |13 |
|Eng |A |foreign|800 |19 |
|Art |A |foreign|3000 |30 |
|Eng |E |foreign|1000 |21 |
|Art |D |local |1000 |32 |
|Sport |C |local |1000 |28 |
+----------+-----+-------+------+---+
Si rollupColumns
es department, region
y aggExpressions
es salary -> avg, age -> max
(cálculo del salario medio y la edad máxima), la acumulación después de la transformación es:
+----------+-------+-----------------+--------+
|department|region |avg(salary) |max(age)|
+----------+-------+-----------------+--------+
|Eng |foreign|900.0 |21 |
|Sport |null |1250.0 |28 |
|Art |null |2000.0 |32 |
|Eng |null |933.3333333333334|21 |
|Art |foreign|2500.0 |30 |
|Eng |local |1000.0 |10 |
|null |null |1412.5 |32 |
|Sport |local |1250.0 |28 |
|Art |local |1000.0 |32 |
+----------+-------+-----------------+--------+
Ejecuta consultas SQL de Spark en datos entrantes, creando primero vistas temporales con los nombres de tabla proporcionados.
Parámetro | Descripción |
---|---|
SQL |
Sentencia SQL o script que se va a ejecutar. Ejemplo: |
tableName |
Nombre de tabla o lista separada por comas de nombres de tabla por los que Spark crea tablas temporales. Ejemplo: |
Genera una muestra estratificada sin sustitución basada en la fracción de muestreo dada para cada estrato.
Devuelve un nuevo marco de datos que representa la muestra estratificada.
Parámetro | Descripción |
---|---|
strata_col |
Columna que define los estratos. |
fractions |
Fracción de muestreo para cada estrato, de Por ejemplo, Si no se especifica una fracción, se asume cero. |
sample_size |
Si no se especifica |
seed |
Utilice cualquier número aleatorio en |
Ejemplo
Antes de la transformación:
+---+-----+
|key|value|
+---+-----+
| 1| 1|
| 1| 2|
| 2| 1|
| 2| 1|
| 2| 3|
| 3| 2|
| 3| 3|
+---+-----+
Si strata_col
es key
y fractions
es el siguiente:
1 -> 1.0, 3 -> 0.5
Después de la transformación:
+---+-----+
|key|value|
+---+-----+
| 1| 1|
| 1| 2|
| 3| 2|
+---+-----+
Calcula las estadísticas proporcionadas para columnas numéricas y de cadena.
Si no se proporcionan estadísticas, se calculan todas las siguientes opciones:
COUNT
MEAN
STDDEV
MIN
- cuartiles aproximados (percentiles al 25 %, 50 % y 75 %)
MAX
Parámetro | Descripción |
---|---|
statistics |
Lista separada por comas de estadísticas. Los valores soportados son:
Ejemplo: |
Ejemplo
Antes de la transformación:
+----------+------+-----------------+--------+
|department|gender|avg(salary) |max(age)|
+----------+------+-----------------+--------+
|Eng |female|900.0 |21 |
|Sport |null |1250.0 |28 |
|Art |null |2000.0 |32 |
|Eng |null |933.3333333333334|21 |
|Art |female|2500.0 |30 |
|Eng |male |1000.0 |10 |
|null |null |1412.5 |32 |
|Sport |male |1250.0 |28 |
|Art |male |1000.0 |32 |
+----------+------+-----------------+--------+
Supongamos que statistics
es count, mean, stddev, min, 27%, 41%, 95%, max
.
Después de la transformación:
+-------+----------+-----+------+----------------+----------------+
|summary|department|group|gender|salary |age |
+-------+----------+-----+------+----------------+----------------+
|count |8 |8 |8 |8 |8 |
|mean |null |null |null |1412.5 |20.5 |
|stddev |null |null |null |749.166203188585|8.76682056718072|
|min |Art |A |female|800 |10 |
|27% |null |null |null |1000 |13 |
|41% |null |null |null |1000 |19 |
|95% |null |null |null |3000 |32 |
|max |Sport |E |male |3000 |32 |
+-------+----------+-----+------+----------------+----------------+