我写了一个代码来对年和月的数据进行分区,但我得到了一个错误
data.write.csv('/tmp/fold',header=True)
.partitionBy('YEAR','MONTH').mode('overwrite')
这就是我的数据看起来像的样子
EmpId| EName| DOJ|YEAR|MONTH|
+-----+-------+----------+----+-----+
| 1|Anubhav|2020-02-02|2020| 02|
| 2| Raj|2021-01-22|2021| 01|
| 3| jaya|2020-11-29|2020| 11|
| 4|hiamani|2022-09-12|2022| 09|
你知道的原因吗
.partitionBy('YEAR','MONTH').mode('overwrite')
应在.csv(...)
之前,而不是在之后
data.write
.partitionBy('YEAR','MONTH').mode('overwrite')
.csv('/tmp/fold',header=True)
.save
、.csv
、.parquet
、.saveAsTable
…-它们应该是命令链中的最后一个操作,因为它们不会返回任何结果(所以您得到None
)