python – 什么导致’unicode’对象在pyspark中没有属性’toordinal’?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 什么导致’unicode’对象在pyspark中没有属性’toordinal’?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1889字,纯文字阅读大概需要3分钟。
内容图文
![python – 什么导致’unicode’对象在pyspark中没有属性’toordinal’?](/upload/InfoBanner/zyjiaocheng/810/a5b799d5090f4d539a4a21fbfef17db2.jpg)
我得到了这个错误,但我没有导致它.我的python代码在pyspark中运行.堆栈跟踪很长,我只展示其中的一些.所有的堆栈跟踪都没有显示我的代码,所以我不知道在哪里寻找.导致此错误的原因是什么?
/usr/hdp/2.4.2.0-258/spark/python/lib/py4j-0.9-src.zip/py4j/protocol.py in get_return_value(answer, gateway_client, target_id, name)
306 raise Py4JJavaError(
307 "An error occurred while calling {0}{1}{2}.\n".
--> 308 format(target_id, ".", name), value)
309 else:
310 raise Py4JError(
Py4JJavaError: An error occurred while calling o107.parquet.
...
File "/usr/hdp/2.4.2.0-258/spark/python/lib/pyspark.zip/pyspark/sql/types.py", line 435, in toInternal
return self.dataType.toInternal(obj)
File "/usr/hdp/2.4.2.0-258/spark/python/lib/pyspark.zip/pyspark/sql/types.py", line 172, in toInternal
return d.toordinal() - self.EPOCH_ORDINAL
AttributeError: 'unicode' object has no attribute 'toordinal'
谢谢,
解决方法:
尝试将unicode值存储在作为结构一部分的date数据类型中会导致特定异常. Python类型转换为Spark内部表示,期望能够调用date.toordinal()方法.
据推测,你有一个数据帧架构,它由一个带有日期字段的结构类型组成,并试图将字符串填充到该字段中.
您可以根据您拥有的回溯来跟踪此信息. Apache Spark source code托管在GitHub上,你的回溯指向pyspark/sql/types.py file.这些行指向StructField.toInternal() method,它委托给self.dataType.toInternal()方法:
class StructField(DataType):
# ...
def toInternal(self, obj):
return self.dataType.toInternal(obj)
在你的追溯中最终在DateType.toInternal() method:
class DateType(AtomicType):
# ...
def toInternal(self, d):
if d is not None:
return d.toordinal() - self.EPOCH_ORDINAL
所以我们知道这是关于结构中的日期字段. DateType.fromInternal()显示了在相反方向生成的Python类型:
def fromInternal(self, v):
if v is not None:
return datetime.date.fromordinal(v + self.EPOCH_ORDINAL)
可以安全地假设toInternal()在向另一个方向转换时需要相同的类型.
内容总结
以上是互联网集市为您收集整理的python – 什么导致’unicode’对象在pyspark中没有属性’toordinal’?全部内容,希望文章能够帮你解决python – 什么导致’unicode’对象在pyspark中没有属性’toordinal’?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。