J'essaie d'utiliser Spark DataSet pour charger des données assez importantes de (disons) personnes où les données du sous-ensemble se présentent comme suit.Transformations relationnelles dans Spark
|age|maritalStatus| name|sex|
+---+-------------+--------+---+
| 35| M| Joanna| F|
| 25| S|Isabelle| F|
| 19| S| Andy| M|
| 70| M| Robert| M|
+---+-------------+--------+---+
Mon besoin est d'avoir des transformations relationnelles où une colonne tire sa valeur d'autre colonne (s). Par exemple, en fonction de l'âge & "sexe" de chaque enregistrement de personne, je dois mettre M. ou Mme/Mme devant chaque attribut "nom". Un autre exemple, c'est que pour une personne avec "l'âge" de plus de 60 ans, je dois le marquer comme un Senior Citizen (colonne dérivée "seniorCitizen" comme Y).
Mon besoin final de données transformées est la suivante:
+---+-------------+---------------------------+---+
|age|maritalStatus| name|seniorCitizen|sex|
+---+-------------+---------------------------+---+
| 35| M| Mrs. Joanna| N| F|
| 25| S| Ms. Isabelle| N| F|
| 19| S| Mr. Andy| N| M|
| 70| M| Mr. Robert| Y| M|
+---+-------------+--------+------------------+---+
La plupart des transformations que Spark fournit sont assez statiques et non dyanmic. Par exemple, comme défini dans les exemples here et here. J'utilise des jeux de données Spark parce que je charge à partir d'une source de données relationnelle, mais si vous pouvez suggérer une meilleure façon de le faire en utilisant des RDD simples, veuillez le faire.
vous pouvez utiliser Dataframes et UDFs pour le faire. –
Je suppose que votre transformation de nom devrait dépendre de maritalStatus et non de l'âge, n'est-ce pas? –