Comment ajouter des colonnes dans org.apache.spark.sql.Ligne à l'intérieur de mapPartitions
Je suis un newbie à la scala et de la bougie, veuillez garder cela à l'esprit 🙂
En fait, j'ai trois questions
- Comment dois-je définir la fonction de la passer dans df.rdd.mapPartitions, si je veux créer une nouvelle Ligne, avec quelques colonnes supplémentaires
- Comment puis-je ajouter quelques colonnes dans la Ligne d'objet(ou en créer un nouveau)
- Comment créer DataFrame de créé RDD
Vous remercie à l'avance
Puis-je vous demander pourquoi vous en avez besoin? Peut-être un exemple de code / d'entrée / sortie. Il est possible, mais généralement, il y a de meilleurs moyens.
Bien sûr j'ai deux différents ensembles d'éléments, l'un est énorme(en forme de dataframe) et un autre est assez petite, et j'ai trouver quelques min de valeur entre ces deux ensembles. Mon idée, c'est que j'ai un peu de jeu dans certaines tout à fait optimale de la structure, de la passer dans mapPartitions, calculer des valeurs pour chaque élément et de les mettre "à proximité" à d'autres valeurs.
Il ne devrait pas être nécessaire pour
Bien sûr j'ai deux différents ensembles d'éléments, l'un est énorme(en forme de dataframe) et un autre est assez petite, et j'ai trouver quelques min de valeur entre ces deux ensembles. Mon idée, c'est que j'ai un peu de jeu dans certaines tout à fait optimale de la structure, de la passer dans mapPartitions, calculer des valeurs pour chaque élément et de les mettre "à proximité" à d'autres valeurs.
Il ne devrait pas être nécessaire pour
mapPartitions
.OriginalL'auteur Azat Fazulzyanov | 2015-11-23
Vous devez vous connecter pour publier un commentaire.
Habituellement, il ne devrait pas être nécessaire pour que et il vaut mieux utiliser les fonctions définies par l'utilisateur, mais vous êtes ici:
Il devrait prendre
Iterator[Row]
et retourIterator[T]
donc, dans votre cas, vous devriez utiliser quelque chose comme ceciIl y a plusieurs manières d'accéder à
Row
valeurs, y comprisRow.get*
méthodes,Row.toSeq
etc. NouveauRow
peuvent être créés à l'aide deRow.apply
,Row.fromSeq
,Row.fromTuple
ouRowFactory
. Par exemple:Si vous avez
RDD[Row]
vous pouvez utiliserSQLContext.createDataFrame
et de fournir de schéma.Mettre tous ensemble:
Plus précisément: - vous aimez la façon dont zero323 a écrit scala (/spark) code!
v bien fait avec de la
newSchema
. Sauve-moi d'aller la re-construireComment cela peut-il être écrit en Java?
pouvez-vous fournir un exemple pour ce faire avec Pyspark? J'ai besoin d'un exemple pour ajouter de nouvelles colonnes à la Ligne à l'intérieur d'un mapPartitions.
OriginalL'auteur zero323