filtre DataFrame avec la Regex avec Spark en Scala
Je veux filtrer les lignes Spark DataFrame
qui ont la colonne Email qui ressemblent à de vrais, voici ce que j'ai essayé:
df.filter($"Email" match {case ".*@.*".r => true case _ => false})
Mais cela ne fonctionne pas. Quelle est la bonne façon de le faire?
Utilisation
rlike
comme décrit ici: stackoverflow.com/questions/27249685/...OriginalL'auteur Bamqf | 2015-11-27
Vous devez vous connecter pour publier un commentaire.
Étendre sur @TomTom101 du commentaire, le code que vous cherchez est:
La première raison pour laquelle les
match
ne fonctionne pas est parce queDataFrame
a deux les fonctions de filtrage qui prennent une Chaîne de caractères ou une Colonne. C'est à l'inverseRDD
avec un filtre qui prend une fonction deT
Booléens.le REPL configure quelques choses que vous devez configurer vous-même dans une Application. Donc, de deux Qs: 1) votre fonction de travail avec des opérations plus simples (vous pouvez réussir à créer et à compter d'un dataframe, par exemple)? 2) êtes-vous d'exécuter la même Étincelle version pour votre REPL et où le principal fichier est exécuté?
Matthieu, vous avez raison. J'ai besoin d'ajouter
val sqlContext= new org.apache.spark.sql.SQLContext(sc)
etimport sqlContext.implicits._
OriginalL'auteur Matthew Graves