Comment obtenir le jour de la semaine dans SparkSQL?
Je suis en train de sélectionner tous les records enregistrés au dimanche au SparkSQL.
J'ai suivantes essayer, mais en vain.
SELECT * FROM mytable WHERE DATEPART(WEEKDAY, create_time) = 0
SELECT * FROM mytable WHERE strftime("%w", create_time) = 0
Comment obtenir le jour de la semaine dans SparkSQL?
- avez-vous besoin le jour actuel de la semaine en int forme?
- Que voulez-vous dire 'int forme"? Je voudrais interroger tous les documents créés à dimanche. create_time est un champ dans la table matable où le journal de l'heure de création d'un enregistrement.
- Ok je obtenir ce que vous dites, doit être le même que dans le sql, si non vous pouvez l'interroger en tant que normale RDD, une table sql dans spark est généralement accessible comme un cas de classe
- Mais la requête I ci-dessus ne fonctionne pas dans SparkSQL requête. Le contexte ne semble pas encore mis en œuvre. Je voudrais savoir si il existe un autre moyen pour atteindre mon objectif.
Vous devez vous connecter pour publier un commentaire.
ÉTINCELLE 1.5.0 a un
date_format
fonction qui accepte un format comme argument. Ce format retourne un nom d'un jour de la semaine à partir d'un timestamp:select date_format(my_timestamp, 'EEEE') from ....
Résultat: par exemple, 'mardi'
date_format
être utilisé dans leWHERE
clause? Si oui, de modifier votre réponse à démontrer que.Si le create_time est dans le format de l'heure UTC, vous pouvez utiliser ce qui suit pour filtrer jours dans SparkSQL. J'ai utilisé Étincelle 1.6.1:
Si vous précisez "EEEE", le jour de la semaine est en entier. Vous pouvez utiliser le 'E' pour spécifier la version abrégée, par exemple, les Mer.
Vous pouvez trouver plus d'infos ici:
http://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.DataFrame
http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html