Spark - scala: shuffle RDD / split RDD en deux hasard au hasard
Comment puis-je prendre un rdd tableau d'étincelle, et de le diviser en deux rdds de façon aléatoire de sorte que chaque rdd comprendra une partie des données (permet de dire que 97% et 3%).
J'ai pensé à l'aléatoire de la liste, puis shuffledList.take((0.97*rddList.count).toInt)
Mais comment puis-je mélanger les rdd?
Ou est-il une meilleure façon de diviser la liste?
Tous les éléments uniques (c'est à dire pas de doublons?) Je me demandais si vous pouvez utiliser
Peut être en double, mais pourquoi importe-t-il, que voudriez-vous être en mesure de le faire si ils sont uniques?
OK, je ne pense pas que le takeSample approche serait de travailler avec des doublons.
Il est également difficile parce que je veux enregistrer également la deuxième partie (c'est à dire 3%)
takeSample()
puis filtrer l'échantillon de la liste d'origine.Peut être en double, mais pourquoi importe-t-il, que voudriez-vous être en mesure de le faire si ils sont uniques?
OK, je ne pense pas que le takeSample approche serait de travailler avec des doublons.
Il est également difficile parce que je veux enregistrer également la deuxième partie (c'est à dire 3%)
OriginalL'auteur griffon vulture | 2014-07-21
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé une manière simple et rapide de diviser le tableau:
Il fractionne les données à l'aide du poids.
OriginalL'auteur griffon vulture
Vous devez utiliser
randomSplit
méthode:Voici sa la mise en œuvre spark 1.0:
OriginalL'auteur Shyamendra Solanki