gpt4 book ai didi

python-3.x - 错误 'str' 对象在 PySpark 中没有属性 'toordinal'

转载 作者:行者123 更新时间:2023-12-05 07:43:43 31 4
gpt4 key购买 nike

在使用 Python 3 的 PySpark 上,在包含模式的同时写入表失败。

以下是有效的步骤。

a = sc.textFile("ad_actions.csv")
b = a.map(lambda x: x.split('||')).toDF()
b.write.saveAsTable('AD_ACTIONS', mode='append')

但是如果我尝试添加模式,它会失败:

a = sc.textFile("ad_actions.csv")
b = a.map(lambda x: x.split('||')).toDF(schema=sqlContext.table("AD_ACTIONS").schema)
b.write.saveAsTable('AD_ACTIONS', mode='append')

AttributeError: 'str' object has no attribute 'toordinal'

你们中有人知道我该如何解决这个问题吗?你需要看什么吗?

最佳答案

此问题意味着您正在添加不属于数据的架构。

问题:

AttributeError: 'str' object has no attribute 'toordinal'

意味着你想把你的字符串转换成序数。这是 date 的函数.

所以,问题是您无法将数据转换为您想要的模式。

我建议您只取列的名称。像这样:

a = sc.textFile("ad_actions.csv")
b = a.map(lambda x: x.split('||')).toDF(sqlContext.table("AD_ACTIONS").schema.names)
b.write.saveAsTable('AD_ACTIONS', mode='append')

这会很好地工作,因为模式转换将由您的元数据存储处理。

关于python-3.x - 错误 'str' 对象在 PySpark 中没有属性 'toordinal',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43462356/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com