spark 报错:UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 解决方法


pyspark 调用DataFrame.show()进行数据展示,展示的数据存在中文,会报UnicodeEncodeError: 'ascii' codec can't encode characters in position 284-285: ordinal not in range(128)异常。

.py文件中已指定#coding:utf-8编码,需要更改系统默认编码格式:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

异常原文如下:

Traceback (most recent call last):
  File "Demo5.py", line 33, in <module>
    read_df.show()
  File "/opt/cloudera/parcels/CDH-5.16.2-1.cdh5.16.2.p0.8/lib/spark/python/lib/pyspark.zip/pyspark/sql/dataframe.py", line 257, in show
UnicodeEncodeError: 'ascii' codec can't encode characters in position 284-285: ordinal not in range(128)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM