Comment puis-je filtrer les lignes selon que la valeur d'une colonne dans un Ensemble de Chaînes dans une Étincelle DataFrame
Est-il un moyen plus élégant de filtrage basé sur les valeurs dans un Ensemble de String?
def myFilter(actions: Set[String], myDF: DataFrame): DataFrame = {
val containsAction = udf((action: String) => {
actions.contains(action)
})
myDF.filter(containsAction('action))
}
En SQL, vous pouvez faire
select * from myTable where action in ('action1', 'action2', 'action3')
Avez-vous regardé
Votre syntaxe n'a pas de sens pour moi. Avez-vous travaillé avec Spark DataFrames avant?
Oui, j'ai, à l'aide de python. Par ailleurs, pourquoi n'utilisez-vous pas la version SQL, car il fonctionne pour vous?
myDF.action.inSet()
?Votre syntaxe n'a pas de sens pour moi. Avez-vous travaillé avec Spark DataFrames avant?
Oui, j'ai, à l'aide de python. Par ailleurs, pourquoi n'utilisez-vous pas la version SQL, car il fonctionne pour vous?
OriginalL'auteur zzztimbo | 2015-07-14
Vous devez vous connecter pour publier un commentaire.
Comment à ce sujet:
OU
OU
Un soutien supplémentaire sera ajouté pour faire de ce robot dans 1.5
La solution est-elle plus efficace?
Par rapport à un udf? Alors bien sûr, il est plus efficace. udf ne sont pas optimisable.
OriginalL'auteur