创建PySpark数据框:年份的月份序列

时间:2019-08-09 08:19:32

标签: date pyspark apache-spark-sql

在这里填写新手。

我想使用 pyspark 创建一个数据框,它将列出采用当前日期的月份和年份,并列出 x 行。

如果我决定x=5数据框应如下所示

日历条目

August 2019<br/>
September 2019<br/>
October 2019<br/>
November 2019<br/>
December 2019

1 个答案:

答案 0 :(得分:0)

Spark不是用于以分布式方式生成行的工具,而是用于处理然后分布式的工具。
由于您的数据仍然很小,因此最好的解决方案可能是使用纯Python创建数据,并在需要时创建一个Spark数据框。

import datetime
from dateutil.relativedelta import relativedelta


def create_months_df(n_months):
    date_list = [datetime.datetime.today() - relativedelta(months=i) for i in range(n_months)]
    dates_formatted = [(d.strftime("%B"), d.year) for d in date_list]
    return spark.createDataFrame(dates_formatted, ["month", "year"])