Python 为Cassandra筛选pyspark数据帧的正确时间戳格式

Python 为Cassandra筛选pyspark数据帧的正确时间戳格式,python,apache-spark,pyspark,cassandra,spark-cassandra-connector,Python,Apache Spark,Pyspark,Cassandra,Spark Cassandra Connector,我在Cassandra中将时间戳存储为YYYY-mm-dd-HH:mm:SSZ,并且我能够在cql shell中过滤数据以获得特定的时间范围,但是当我在pyspark数据帧上尝试相同操作时,我在过滤的数据帧中没有得到任何值 有人能帮我在pyspark中找到合适的日期时间格式吗 谢谢。这种时间戳格式很好用。我认为Spark SQL类型存在问题,因此可能需要对时间戳字符串执行显式强制转换,以便Spark可以执行正确的比较 例如,此Scala代码工作正常(您可能需要将其调整为Python): impo

我在Cassandra中将时间戳存储为YYYY-mm-dd-HH:mm:SSZ,并且我能够在cql shell中过滤数据以获得特定的时间范围,但是当我在pyspark数据帧上尝试相同操作时,我在过滤的数据帧中没有得到任何值

有人能帮我在pyspark中找到合适的日期时间格式吗


谢谢。

这种时间戳格式很好用。我认为Spark SQL类型存在问题,因此可能需要对时间戳字符串执行显式强制转换,以便Spark可以执行正确的比较

例如,此Scala代码工作正常(您可能需要将其调整为Python):

import org.apache.spark.sql.cassandra_
val data=spark.read.cassandraFormat(“sdtest”,“test”).load()

val filtered=data.filter(“ts>=cast('2019-07-17 14:41:34.373Z'作为时间戳))和ts这种时间戳格式工作得很好。我认为Spark SQL类型存在问题,因此可能需要对时间戳字符串执行显式cast,以便Spark可以执行正确的比较

例如,此Scala代码工作正常(您可能需要将其调整为Python):

import org.apache.spark.sql.cassandra_
val data=spark.read.cassandraFormat(“sdtest”,“test”).load()

val filtered=data.filter(“ts>=cast('2019-07-17 14:41:34.373Z'作为时间戳)和ts是的,你是对的,这是Spark SQL的问题,添加
Spark.conf.set(“Spark.SQL.session.timeZone”,“UTC”)
解决了问题。非常感谢。:)是的,你是对的,这是Spark SQL的问题,添加
Spark.conf.set(“spark.sql.session.timeZone”、“UTC”)
解决了这个问题。非常感谢。:)