我有一份数据
date, string, string我想在某个时间段之前选择日期。我在没有运气的情况下尝试了下面的方法
data.filter(data("date") < new java.sql.Date(format.parse("2015-03-14").getTime))我收到一个错误,说明了以下内容
org.apache.spark.sql.AnalysisException: resolved attribute(s) date#75 missing from date#72,uid#73,iid#74 in operator !Filter (date#75 < 16508);据我所知,查询是不正确的。有人能告诉我应该以什么方式格式化查询吗?
我检查过数据仓库中的所有企业都有价值--它们有价值。
发布于 2018-06-12 17:14:30
在PySpark(python)中,其中一个选项是让列在unix_timestamp中,format.We可以将字符串转换为unix_timestamp并指定格式,如下所示。注意,我们需要导入unix_timestamp和lit功能。
from pyspark.sql.functions import unix_timestamp, lit
df.withColumn("tx_date", to_date(unix_timestamp(df_cast["date"], "MM/dd/yyyy").cast("timestamp")))现在我们可以应用过滤器了
df_cast.filter(df_cast["tx_date"] >= lit('2017-01-01')) \
.filter(df_cast["tx_date"] <= lit('2017-01-31')).show()https://stackoverflow.com/questions/31994997
复制相似问题