J'ai une grande trame de données avec 222 colonnes que je veux faire comme l'exemple suivantvaleur de vente d'une rangée à l'autre scala dataaframe
|id |day |col1 |col2 | col3 ....................
+----------+----------------+-------+-----+
| 329| 0| null|2.0
| 329| 42| null|null
| 329| 72| 5.55|null
| 329| 106| null|null
| 329| 135| null|3.0
| 329| 168| null|4.0
| 329| 189| 4.995|null
| 329| 212| null|6.0
| 329| 247| null|null
| 329| 274| null|8.0
|id | day |col1 |col2 |.......................
+----------+----------------+-------+-----+
| 329| 0| null|2.0
| 329| 42| null|2.0
| 329| 72| 5.55|2.0
| 329| 106| 5.55|2.0
| 329| 135| 5.55|3.0
| 329| 168| 5.55|4.0
| 329| 189| 4.995|4.0
| 329| 212| 4.995|6.0
| 329| 247| 4.995|6.0
| 329| 274| 4.995|8.0
.
.
.
.
.
1.read ligne 1 2.i ont id unique de 85 duodecies et chaque id ont 10 résultats (par exemple montré qu'un seul ID) 3.if dans la ligne 2 données sont présentes pas le prendre à partir de la ligne précédente ID
je suis tel résultat
id | day |original_col1 |Result_col1|prevValue|
+----------+----------------+--------------+-----------+---------+
| 329| 0| null | null | null|
| 329| 42| null | null | null|
| 329| 72| 5.55 | 5.55 | null|
| 329| 106| null | 5.55 | 5.55|
| 329| 135| null | null | null|
| 329| 168| null | null | null|
| 329| 189| 4.995 | 4.995 | null|
| 329| 212| null | 4.995 | 4.995|
| 330|....................................................
| 330|.....................................................
.
Y at-il un moyen déterministe de trier les données pour pouvoir utiliser les fonctions de fenêtrage (lag)? Je comprends que vous voulez appliquer la logique ci-dessus dans une partition définie par col "id" mais à moins que vous ayez un moyen de définir un ordre (en supposant que l'ordre compte), dans le cas de partition avec "1" vous pourriez vous retrouver avec la valeur nulle dans la rangée 1/2/3 et les résultats vont être différents. S'il n'y a pas d'ordre dans les données, vous pouvez essayer d'utiliser la fonction monotonically_increasing_id() pour générer un order_id juste après avoir lu les données du fichier/source. – Traian
j'oublie ajouter une colonne s'il vous plaît vérifier maintenant, ID est unique et ID obligatoire est rien mais l'utilisateur et chaque ID ont moins de 6 enregistrements. –