噜噜哒
提供可轻松重新创建的小样本数据。至少,海报应在其数据框和代码上提供几行和列,以便轻松创建它。简单来说,我的意思是剪切和粘贴。尽可能小,以证明您的问题。我有以下数据帧:+-----+---+-----+----------+|index| X|label| date|+-----+---+-----+----------+| 1| 1| A|2017-01-01|| 2| 3| B|2017-01-02|| 3| 5| A|2017-01-03|| 4| 7| B|2017-01-04|+-----+---+-----+----------+可以使用以下代码创建:df = sqlCtx.createDataFrame( [ (1, 1, 'A', '2017-01-01'), (2, 3, 'B', '2017-01-02'), (3, 5, 'A', '2017-01-03'), (4, 7, 'B', '2017-01-04') ], ('index', 'X', 'label', 'date'))显示所需的输出。询问您的具体问题并向我们展示您想要的输出。如何创建一个新列 'is_divisible' 具有价值 'yes' ,如果当月的天 'date' 加7天整除值列'X',并 'no' 以其他方式?期望的输出:+-----+---+-----+----------+------------+|index| X|label| date|is_divisible|+-----+---+-----+----------+------------+| 1| 1| A|2017-01-01| yes|| 2| 3| B|2017-01-02| yes|| 3| 5| A|2017-01-03| yes|| 4| 7| B|2017-01-04| no|+-----+---+-----+----------+------------+解释如何获得输出。详细解释如何获得所需的输出。它有助于显示示例计算。例如,在第1行中,X = 1,日期= 2017-01-01。添加7天到目前为止2017-01-08。这个月的日期是8,因为8可以被1整除,答案是“是”。同样,对于最后一行X = 7和日期= 2017-01-04。将7添加到日期会产生11作为该月的日期。由于11%7不是0,答案是“不”。分享您现有的代码。向我们展示您已完成或尝试过的内容,包括所有*代码,即使它不起作用。告诉我们您遇到的问题,如果收到错误,请提供错误消息。(*您可以省略代码来创建spark上下文,但是您应该包括所有导入。)我知道如何添加一个 加7天的新列,date 但是我无法将整个月的日期作为整数。from pyspark.sql import functions as fdf.withColumn("next_week", f.date_add("date", 7))包括版本,导入和使用语法突出显示这个答案的全部细节由desertnaut撰写。对于性能调优帖子,请包括执行计划用户8371915撰写的此答案中的完整详细信息。它有助于为上下文使用标准化名称。解析火花输出文件MaxU在此答案中提供了有用的代码,以帮助将Spark输出文件解析为DataFrame。其他说明。请务必先阅读如何询问以及如何创建最小,完整和可验证的示例。阅读上面链接的这个问题的其他答案。有一个好的,描述性的标题。讲礼貌。SO上的人都是志愿者,所以请好好问。