首页 > 解决方案 > 创建 PySpark 数据框:带年份的月份序列

问题描述

在这里完成新手。

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

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

Calendar_Entry

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

标签: datepysparkapache-spark-sql

解决方案


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"])

推荐阅读