Informations de référence sur les opérateurs de fonction de table
L'opérateur de fonction de table fournit une liste des fonctions de table intégrées que vous pouvez utiliser dans un flux de données pour renvoyer des données sous forme de tables.
Voir Opérateur Fonction de table.
Voici la liste des fonctions de table intégrées prises en charge par l'opérateur de fonction de table.
Conserve et met en cache un jeu de données en fonction du stockage de mémoire indiqué level
.
Retourne un nouveau jeu de données dans le jeu de données distribué résilient (RDD) mis en cache.
Paramètre | Description |
---|---|
level |
Mémoire de stockage à utiliser :
|
Calcule une table de fréquence par paire ou une table d'éventualité à partir de valeurs distinctes des deux colonnes données.
Le nombre de valeurs distinctes pour chaque colonne doit être inférieur à 1e4.
Renvoie une structure de données qui contient la table d'éventualité. Dans le tableau des contingences :
- Le nom de la première colonne est
col1_col2
, oùcol1
est la première colonne etcol2
est la deuxième colonne avant la transformation. La première colonne de chaque rangée est les valeurs distinctes decol1
. - Les autres noms de colonne sont les valeurs distinctes de
col2
. - Les comptages sont retournés en tant que type
long
. - Le nombre de paires sans occurrences est égal à zéro.
- Le nombre maximal de paires non nulles est 1e6.
- Les éléments nuls sont remplacés par
null
.
Paramètre | Description |
---|---|
col1 |
Nom de la première colonne. Reportez-vous à la note qui suit ce tableau pour connaître les limitations. Les éléments distincts de |
col2 |
Nom de la deuxième colonne. Reportez-vous à la note qui suit ce tableau pour connaître les limitations. Les éléments distincts de |
Seuls les caractères suivants sont autorisés dans un nom de colonne :
- lettres minuscules et majuscules
a-z
A-Z
- chiffres
0-9
- trait de soulignement
_
Exemple
Supposons que col1
soit age
et que col2
soit salary
.
Avant la transformation :
+---+------+
|age|salary|
+---+------+
|1 |100 |
|1 |200 |
|2 |100 |
|2 |100 |
|2 |300 |
|3 |200 |
|3 |300 |
+---+------+
Après transformation :
+----------+---+---+---+
|age_salary|100|200|300|
+----------+---+---+---+
|2 |2 |0 |1 |
|1 |1 |1 |0 |
|3 |0 |1 |1 |
+----------+---+---+---+
Génère un cube multidimensionnel de toutes les combinaisons possibles à l'aide de la liste de colonnes donnée et des calculs dans les expressions de fonction d'agrégation données.
Les fonctions d'agrégation suivantes sont prises en charge dans les expressions :
AVG
COUNT
MEAN
MAX
MIN
SUM
Retourne une structure de données après la transformation du cube.
Paramètre | Description |
---|---|
cubeColumns |
Liste des colonnes, séparées par des virgules, permettant de générer le cube multidimensionnel. |
aggExpressions |
Expressions de fonction d'agrégation à effectuer sur les colonnes. Par exemple : |
Exemple
Avant la transformation :
+----------+-----+-------+------+---+
|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
a la valeur department, region
et que aggExpressions
a la valeur salary -> avg, age -> max
(calculer le salaire moyen et l'âge maximal), le cube après transformation est :
+----------+-------+-----------------+--------+
|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 |
+----------+-------+-----------------+--------+
Génère des données synthétiques à l'aide du format de fichier et du contenu indiqués. Les formats de fichier pris en charge sont les suivants :
- CSV
- JSON
Retourne une entité de données. La source de données synthétique peut être utilisée dans les tests d'unité de pipeline où les données réelles ne sont pas utilisées ou déplacées.
Paramètre | Description |
---|---|
format |
Type du fichier. Les valeurs prises en charge sont les suivantes :
|
content |
Contenu du fichier pour le format indiqué. |
Exemple
Exemple de contenu CSV :
co1,co2,co3
1,B,3
A,2,C
Résultat de la génération des données :
+---+---+---+
|co1|co2|co3|
+---+---+---+
|1 |B |3 |
+---+---+---+
|A |2 |C |
+---+---+---+
Recherche les doubles dans la liste de colonnes indiquée et retourne un nouveau jeu de données avec les rangées en double supprimées.
Paramètre | Description |
---|---|
columns |
Nom de colonne ou liste de noms de colonne séparés par des virgules. |
Exemple
Avant la transformation :
+---+---+
|a |b |
+---+---+
|1 |2 |
|3 |4 |
|1 |3 |
|2 |4 |
+---+---+
Si columns
est a
, le jeu de données après la transformation est :
+---+---+
|a |b |
+---+---+
|1 |2 |
|3 |4 |
|2 |4 |
+---+---+
Recherche les éléments fréquents dans la liste de colonnes ou de colonnes donnée à l'aide de la fréquence minimale indiquée.
L'algorithme de comptage d'éléments fréquents proposé par Karl et al. est utilisé pour trouver des éléments fréquents. Les faux positifs sont possibles.
Renvoie une structure de données avec un tableau d'éléments fréquents pour chaque colonne.
Paramètre | Description |
---|---|
freqItems |
Nom de colonne ou liste de noms de colonne séparés par des virgules pour lesquels vous voulez rechercher des éléments fréquents. |
support |
Fréquence minimale pour qu'un élément soit considéré comme fréquent. La valeur doit être supérieure à 1e-4 (valeur décimale de Par exemple, |
Exemple
Avant la transformation :
+-------+--------------+
|user_id|favorite_fruit|
+-------+--------------+
| 1| apple|
| 2| banana|
| 3| apple|
| 4| orange|
| 5| banana|
| 6| banana|
| 7| apple|
+-------+--------------+
Si freqItems
est favorite_fruit
et support
est 0.6
, la structure de données retournée après la transformation est :
+------------------------+
|favorite_fruit_freqItems|
+------------------------+
| [banana]|
+------------------------+
Supprime les rangées contenant des valeurs nulles ou NaN dans la colonne ou la liste de colonnes indiquée.
Renvoie une structure de données qui exclut les lignes.
Paramètre | Description |
---|---|
how |
Comment déterminer si une ligne doit être supprimée. Les valeurs prises en charge sont les suivantes :
Le paramètre |
cols |
Nom de colonne ou liste de noms de colonne séparés par des virgules. |
minNonNulls |
Nombre minimal de valeurs non nulles et non NaN qu'une rangée peut contenir. Supprime les lignes qui contiennent moins que le minimum spécifié. Le paramètre |
Exemple
Avant la transformation :
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|2 |null |28 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Si how
est any
et cols
est name
, la structure de données retournée après la transformation est :
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Lorsque vous utilisez le paramètre how
avec la valeur all
, une rangée n'est supprimée que si toutes ses valeurs sont nulles. Par exemple, avant la transformation :
+----+--------+----+
| id| name| age|
+----+--------+----+
| 1|John Doe| 30|
| 2| null|null|
| 3|Jane Doe| 25|
| 4|Jake Doe|null|
|null| null|null|
+----+--------+----+
Après transformation :
+---+--------+----+
| id| name| age|
+---+--------+----+
| 1|John Doe| 30|
| 2| null|null|
| 3|Jane Doe| 25|
| 4|Jake Doe|null|
+---+--------+----+
Remplace les valeurs nulles et retourne une structure de données à l'aide des valeurs remplacées.
Paramètre | Description |
---|---|
replacement |
Mappage clé-valeur à utiliser pour remplacer les valeurs nulles. La clé est un nom de colonne. La valeur est une valeur de remplacement. La clé indique la valeur de remplacement. Par exemple : Une valeur de remplacement est versée au type de données de la colonne. Une valeur de remplacement doit être du type suivant :
|
Exemple
Avant la transformation :
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|2 |null |28 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Si la mappe clé-valeur est la suivante :
id -> 3
name -> unknown
age -> 10
Après transformation :
+---+-------+---+
|id |name |age|
+---+-------+---+
|1 |Alice |25 |
|2 |unknown|28 |
|3 |Bob |10 |
|4 |Charlie|30 |
+---+-------+---+
Remplace une valeur par une autre valeur dans la ou les colonnes indiquées en mettant en correspondance les clés dans le mappage de clé et de valeur de remplacement indiqué.
Retourne une nouvelle structure de données qui contient la transformation remplacée.
Paramètre | Description |
---|---|
cols |
Nom de colonne ou liste de noms de colonne séparés par des virgules sur laquelle appliquer les valeurs de remplacement. Si |
replacement |
Mappage clé-valeur de remplacement à utiliser. La clé est une valeur à remplacer. La valeur est la valeur de remplacement. La valeur de mappage peut avoir des valeurs nulles. La clé indique la valeur de remplacement. Par exemple : La paire clé-valeur de remplacement doit avoir le même type. Seuls les types suivants sont pris en charge :
|
Exemple
Avant la transformation :
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|2 |null |28 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Si cols
est name
et replacement
est Alice -> Tom
, la structure de données après la transformation est :
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Tom |25 |
|2 |null |28 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Divise un jeu de données par les colonnes indiquées en un nombre spécifié de partitions.
Retourne un nouveau jeu de données partitionné par hachage. Le nombre exact de partitions spécifié est retourné.
Paramètre | Description |
---|---|
partitionColumns |
Nom de colonne ou liste de noms de colonne séparés par des virgules par lesquels le jeu de données est partitionné. |
numberOfPartitions |
Nombre de partitions à créer. |
Génère un regroupement multidimensionnel des combinaisons possibles à l'aide de la liste de colonnes donnée et des calculs dans les expressions de fonction d'agrégation données.
Les fonctions d'agrégation suivantes sont prises en charge dans les expressions :
AVG
COUNT
MEAN
MAX
MIN
SUM
Retourne une structure de données après la transformation de regroupement.
Paramètre | Description |
---|---|
rollupColumns |
Liste des colonnes, séparées par des virgules, permettant de générer le regroupement multidimensionnel. |
aggExpressions |
Expressions de fonction d'agrégation à effectuer sur les colonnes. Par exemple : |
Exemple
Avant la transformation :
+----------+-----+-------+------+---+
|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
a la valeur department, region
et que aggExpressions
a la valeur salary -> avg, age -> max
(calculer le salaire moyen et l'âge maximal), le regroupement après transformation est :
+----------+-------+-----------------+--------+
|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 |
+----------+-------+-----------------+--------+
Exécute des interrogations SQL Spark sur les données entrantes, en créant d'abord des vues temporaires à l'aide des noms de table indiqués.
Paramètre | Description |
---|---|
SQL |
Énoncé ou script SQL à exécuter. Exemple : |
tableName |
Nom de table ou liste de noms de table séparés par des virgules par laquelle Spark crée des tables temporaires. Exemple : |
Génère un échantillon stratifié sans remplacement en fonction de la fraction d'échantillonnage donnée pour chaque strate.
Renvoie une nouvelle structure de données qui représente l'échantillon stratifié.
Paramètre | Description |
---|---|
strata_col |
Colonne qui définit les strates. |
fractions |
Fraction d'échantillonnage pour chaque strate, de Par exemple, Si aucune fraction n'est spécifiée, zéro est supposé. |
sample_size |
Si |
seed |
Utilisez un nombre aléatoire dans |
Exemple
Avant la transformation :
+---+-----+
|key|value|
+---+-----+
| 1| 1|
| 1| 2|
| 2| 1|
| 2| 1|
| 2| 3|
| 3| 2|
| 3| 3|
+---+-----+
Si strata_col
est key
et que fractions
est le suivant :
1 -> 1.0, 3 -> 0.5
Après transformation :
+---+-----+
|key|value|
+---+-----+
| 1| 1|
| 1| 2|
| 3| 2|
+---+-----+
Calcule les statistiques fournies pour les colonnes numériques et de chaîne.
Si aucune statistique n'est fournie, toutes les données suivantes sont calculées :
COUNT
MEAN
STDDEV
MIN
- quartiles approximatifs (percentiles à 25 %, 50 % et 75 %)
MAX
Paramètre | Description |
---|---|
statistics |
Une liste séparée par des virgules de statistiques. Les valeurs prises en charge sont les suivantes :
Exemple : |
Exemple
Avant la transformation :
+----------+------+-----------------+--------+
|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 |
+----------+------+-----------------+--------+
Supposons que statistics
soit count, mean, stddev, min, 27%, 41%, 95%, max
.
Après transformation :
+-------+----------+-----+------+----------------+----------------+
|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 |
+-------+----------+-----+------+----------------+----------------+