首页 > 解决方案 > pyspark - 'DataFrame' 对象没有属性 'map'

问题描述

我有以下数据集摘要,在 databricks 上使用 pyspark

订单月年 销售额
2012-11-01T00:00:00.000+0000 473760.5700000001
2010-04-01T00:00:00.000+0000 490967.0900000001

我在将 OrderMonthYear 转换为整数类型时遇到此映射函数的数据帧错误

results = summary.map(lambda r: (int(r.OrderMonthYear.replace('-','')), r.SaleAmount)).toDF(["OrderMonthYear","SaleAmount"])

有任何想法吗?

AttributeError: 'DataFrame' object has no attribute 'map'

标签: pythonapache-sparkpyspark

解决方案


在这里找到解决方案Pyspark date yyyy-mmm-dd 转换

from datetime import datetime
from pyspark.sql.functions import col, unix_timestamp, from_unixtime, date_format
from pyspark.sql.types import DateType

df = summary.withColumn('date', from_unixtime(unix_timestamp("OrderMonthYear", 'yyyy-MMM')))


df2 = df.withColumn("new_date_str", date_format(col("date"), "yyyyMMdd"))
display(df2)

谢谢@mck 的帮助!干杯


推荐阅读