date - 创建 PySpark 数据框:带年份的月份序列
问题描述
在这里完成新手。
我想使用pyspark创建一个数据框,该数据框将列出月份和年份,采用当前日期并列出x行数。
如果我决定x=5
数据框应该如下所示
Calendar_Entry
August 2019<br/>
September 2019<br/>
October 2019<br/>
November 2019<br/>
December 2019
解决方案
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"])
推荐阅读
- python - 我的 Ordered Dict 没有按预期工作
- android - 如何将数据保存在内部或外部目录中?
- javascript - 如何禁用数据表选择
- android - 如何使用 Kotlin 和 Android Studio 在动态壁纸中声明和设置按钮
- python - 从终端运行 python 脚本时导入错误
- c++ - C++:将节点附加到链表
- prometheus - 在 Airflow 中添加 Custom Metrics 规则以通过 prometheus 监控 Airflow-Worker 日志
- java - 无法识别的 VM 选项“UseFastAccessorMethods”
- mysql - MYSQL 中对象数组的 JSON_EXTRACT
- docker - 为什么`xhost`被认为是危险的?