Référence des opérateurs de fonction de table
L'opérateur de fonction de table fournit la 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.
Reportez-vous à Opérateur de 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 ensemble de données en fonction du stockage de mémoire level
indiqué.
Renvoie un nouveau jeu de données dans le jeu de données distribué résilient (RDD) mis en cache.
Paramètre | Description |
---|---|
level |
Stockage mémoire à utiliser :
|
Calcule une table de fréquence par paire ou une table de réserve à partir de valeurs distinctes des deux colonnes indiquées.
Le nombre de valeurs distinctes pour chaque colonne doit être inférieur à 1e4.
Renvoie une trame de données contenant la table de réserve. Dans la table des réserves pour imprévus :
- Le nom de la première colonne est
col1_col2
, oùcol1
est la première colonne etcol2
la deuxième colonne avant la transformation. La première colonne de chaque ligne correspond aux valeurs distinctes decol1
. - Les autres noms de colonne sont les valeurs distinctes de
col2
. - Les décomptes sont renvoyés en tant que type
long
. - Le nombre de paires sans occurrence est égal à zéro.
- Le nombre maximal de paires différentes de zéro est 1e6.
- Les éléments NULL sont remplacés par
null
.
Paramètre | Description |
---|---|
col1 |
Nom de la première colonne. Reportez-vous à la note après ce tableau pour connaître les limites. Les éléments distincts de |
col2 |
Nom de la deuxième colonne. Reportez-vous à la note après ce tableau pour connaître les limites. 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 la 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
Renvoie une image de données après la transformation du cube.
Paramètre | Description |
---|---|
cubeColumns |
Liste des colonnes, séparées par des virgules, par lesquelles générer le cube multidimensionnel. |
aggExpressions |
Expressions de fonction d'agrégation à exécuter 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 aggExpressions
a la valeur salary -> avg, age -> max
(calcul du salaire moyen et de 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
Renvoie une entité de données. La source de données synthétique peut être utilisée dans des tests unitaires de pipeline où les données réelles ne sont pas utilisées ou déplacées.
Paramètre | Description |
---|---|
format |
Type de fichier. Les valeurs admises sont les suivantes :
|
content |
Contenu du fichier pour le format donné. |
Exemple
Exemple de contenu CSV :
co1,co2,co3
1,B,3
A,2,C
Résultat de la génération de données :
+---+---+---+
|co1|co2|co3|
+---+---+---+
|1 |B |3 |
+---+---+---+
|A |2 |C |
+---+---+---+
Recherche les doublons dans la ou les colonnes indiquées et renvoie un nouvel ensemble de données avec les lignes 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
a la valeur a
, l'ensemble de données après la transformation est :
+---+---+
|a |b |
+---+---+
|1 |2 |
|3 |4 |
|2 |4 |
+---+---+
Recherche les éléments fréquents dans la ou les colonnes indiquées en utilisant 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 image 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
a la valeur favorite_fruit
et que support
a la valeur 0.6
, la trame de données renvoyée après la transformation est la suivante :
+------------------------+
|favorite_fruit_freqItems|
+------------------------+
| [banana]|
+------------------------+
Enlève les lignes contenant des valeurs NULL ou NaN dans la ou les listes de colonnes indiquées.
Renvoie une image de données qui exclut les lignes.
Paramètre | Description |
---|---|
how |
Déterminer si une ligne doit être supprimée. Les valeurs admises sont les suivantes :
Le paramètre |
cols |
Nom de colonne ou liste de noms de colonne séparés par des virgules. |
minNonNulls |
Nombre minimum de valeurs non NULL et non NaN qu'une ligne peut contenir. Supprime les lignes contenant moins que le minimum indiqué. Le paramètre |
Exemple
Avant la transformation :
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|2 |null |28 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Si how
a la valeur any
et que cols
a la valeur name
, la trame de données renvoyée après la transformation est la suivante :
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Lorsque vous utilisez le paramètre how
avec la valeur all
, une ligne est supprimée uniquement si toutes ses valeurs sont NULL. 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 la transformation :
+---+--------+----+
| id| name| age|
+---+--------+----+
| 1|John Doe| 30|
| 2| null|null|
| 3|Jane Doe| 25|
| 4|Jake Doe|null|
+---+--------+----+
Remplace les valeurs NULL et renvoie une image de données à l'aide des valeurs remplacées.
Paramètre | Description |
---|---|
replacement |
Correspondance clé-valeur à utiliser pour remplacer les valeurs NULL. La clé est un nom de colonne. La valeur est une valeur de remplacement. La clé pointe vers la valeur de remplacement. Par exemple : Une valeur de remplacement est convertie 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 la 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 données en mettant en correspondance les clés dans la correspondance de clé et de valeur de remplacement donnée.
Renvoie une nouvelle image 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 lesquels appliquer des valeurs de remplacement. Si |
replacement |
Correspondance clé-valeur de remplacement à utiliser. La clé est une valeur à remplacer. La valeur est la valeur de remplacement. La valeur de mapping peut avoir des valeurs NULL. La clé pointe vers 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 que replacement
est Alice -> Tom
, la trame 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 ensemble de données en fonction des colonnes données en fonction du nombre de partitions spécifié.
Renvoie un nouvel ensemble de données partitionné par hachage. Le nombre exact de partitions indiqué est renvoyé.
Paramètre | Description |
---|---|
partitionColumns |
Nom de colonne ou liste de noms de colonne séparés par des virgules par lesquels l'ensemble de données est partitionné. |
numberOfPartitions |
Nombre de partitions à créer. |
Génère une consolidation multidimensionnelle 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
Renvoie une image de données après la transformation de consolidation.
Paramètre | Description |
---|---|
rollupColumns |
Liste de colonnes, séparées par des virgules, par lesquelles générer la consolidation multidimensionnelle. |
aggExpressions |
Expressions de fonction d'agrégation à exécuter 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
(calcul du salaire moyen et de l'âge maximal), la consolidation après transformation est la suivante :
+----------+-------+-----------------+--------+
|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 requêtes 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 |
Instruction SQL ou script à 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 image de données qui représente l'échantillon stratifié.
Paramètre | Description |
---|---|
strata_col |
Colonne définissant 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 n'importe quel 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 la transformation :
+---+-----+
|key|value|
+---+-----+
| 1| 1|
| 1| 2|
| 3| 2|
+---+-----+
Calcule les statistiques données pour les colonnes numériques et de chaîne.
Si aucune statistique n'est fournie, tous les éléments suivants sont calculés :
COUNT
MEAN
STDDEV
MIN
- quartiles approximatifs (percentiles à 25 %, 50 % et 75 %)
MAX
Paramètre | Description |
---|---|
statistics |
Liste de statistiques séparées par des virgules. Les valeurs admises 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 la 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 |
+-------+----------+-----+------+----------------+----------------+