Filtre étincelle DataFrame sur la chaîne contient
Je suis en utilisant Spark 1.3.0 et Spark Avro 1.0.0.
Je travaille à partir de la l'exemple sur la page de référentiel. Ce code suivant fonctionne bien
val df = sqlContext.read.avro("src/test/resources/episodes.avro")
df.filter("doctor > 5").write.avro("/tmp/output")
Mais que faire si j'ai besoin de voir si la doctor
chaîne contient une sous-chaîne? Puisque nous sommes à l'écriture de notre expression à l'intérieur d'une chaîne. Que dois-je faire pour faire un "contient"?
OriginalL'auteur Knows Not Much | 2016-03-02
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
contains
(cela fonctionne avec une suite arbitraire):like
SQL (comme avec SQL expression régulière simple avec_
correspondant à un caractère arbitraire et%
correspondant à une suite arbitraire):ou
rlike
(comme avec Java expressions régulières):en fonction de vos besoins.
LIKE
etRLIKE
devrait travailler avec les expressions SQL.import org.apache.spark.sql.functions.lit
Scala. Pour faire
$
de travail, vous aurez besoin deimport sqlContext.implicits._
. Vous pouvez le remplacer pardf("foo")
ouorg.apache.spark.sql.functions.col("foo")
.génial! merci beaucoup
est-il une fonction similaire dans pyspark?
Vous pouvez utiliser l'un de ces (
like
,rlike
directement, contient l'appel de la JVM méthode) surColumn
objet.OriginalL'auteur zero323