Dataframe 在pyspark中过滤数据帧

Dataframe 在pyspark中过滤数据帧,dataframe,pyspark,pyspark-sql,Dataframe,Pyspark,Pyspark Sql,我有一个像这样的数据框 [世界其他地区(持卡人=u'10',类别=87,俱乐部=6279,会员=u'780941902',零售=51.23,子类别=1,系统项目=3572924,单位数量=1.0,访问日期=u'2016-08-05',访问=1608057826021405)] 我想根据访问日期范围(比如2016-09-15到2016-09-23)对其进行筛选。 我该怎么做? 如果我这样做 df=sqlContext.sql(“从访问日期>='2016-09-15'的df\u表中选择*并访问日期

我有一个像这样的数据框

[世界其他地区(持卡人=u'10',类别=87,俱乐部=6279,会员=u'780941902',零售=51.23,子类别=1,系统项目=3572924,单位数量=1.0,访问日期=u'2016-08-05',访问=1608057826021405)]
我想根据访问日期范围(比如2016-09-15到2016-09-23)对其进行筛选。 我该怎么做? 如果我这样做


df=sqlContext.sql(“从访问日期>='2016-09-15'的df\u表中选择*并访问日期您能试试这个并告诉我们它是否有效吗?”

from pyspark.sql import Row
import pyspark.sql.functions as f

data = [Row(cardholder_nbr=u'10', category_nbr=87, club_nbr=6279, membership_nbr=u'780941902', retail_all=51.23, sub_category_nbr=1, system_item_nbr=3572924, unit_qty=1.0, visit_date=u'2016-08-05', visit_nbr=1608057826021405),
        Row(cardholder_nbr=u'10', category_nbr=87, club_nbr=6279, membership_nbr=u'780941902', retail_all=51.23, sub_category_nbr=1, system_item_nbr=3572924, unit_qty=1.0, visit_date=u'2016-09-16', visit_nbr=1608057826021405)]
df = sc.parallelize(data).toDF()
df.show()
df.where((f.col("visit_date") >= '2016-09-15') & (f.col("visit_date") <= '2016-09-23')).show()
从pyspark.sql导入行
导入pyspark.sql.f函数
数据=[行(持卡人=u'10',类别=87,俱乐部=6279,会员=u'780941902',零售=51.23,子类别=1,系统项目=3572924,单位数量=1.0,访问日期=u'2016-08-05',访问=1608057826021405),
世界其他地区(持卡人编号=u'10',类别编号=87,俱乐部编号=6279,会员编号=u'780941902',零售编号=51.23,子类别编号=1,系统编号=3572924,单位编号=1.0,访问日期=u'2016-09-16',访问编号=1608057826021405)]
df=sc.parallelize(数据).toDF()
df.show()

df.where((f.col(“访问日期”)>='2016-09-15')&(f.col(“访问日期”)在进行此筛选之前,您在数据帧上使用了自定义项吗?没有。我恐怕没有。spark的哪个版本?这在2.0data=[Row]中对我实际有效(持卡人编号=u'10',类别编号=87,俱乐部编号=6279,会员编号=u'780941902',零售编号=51.23,次类别编号=1,系统编号=3572924,单位编号=1.0,访问日期=u'2016-08-05',访问编号=1608057826021405)]///df=sc.parallelize(数据).toDF()///df.registerTempTable('df')///context.sql('从df中选择*,其中访问日期>='2016-09-15',我使用的访问日期Spark版本为1.6.2