![](/img/trans.png)
[英]UnicodeEncodeError: 'ascii' codec can't encode character […]
[英]UnicodeEncodeError: 'ascii' codec can't encode character error
我正在使用python从谷歌云存储中读取一些文件
spark = SparkSession.builder.appName('aggs').getOrCreate()
df = spark.read.option("sep","\t").option("encoding", "UTF-8").csv('gs://path/', inferSchema=True, header=True,encoding='utf-8')
df.count()
df.show(10)
但是,我一直收到一个抱怨df.show(10)
行的错误:
df.show(10)
File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/dataframe.py", line
350, in show
UnicodeEncodeError: 'ascii' codec can't encode character u'\ufffd' in position 162: ordinal not in range(128)
我用spark.read.option
搜索,发现这似乎是一个常见的错误,解决方案应该在"UTF-8"
的编码中添加到spark.read.option
,就像我已经做的那样。 由于这没有帮助,我仍然得到这个错误,专家能帮忙吗? 提前致谢。
如何在运行Spark作业之前导出PYTHONIOENCODING
:
export PYTHONIOENCODING=utf8
对于Python 3.7+ ,以下应该也可以做到:
sys.stdout.reconfigure(encoding='utf-8')
对于Python 2.x,您可以使用以下内容:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.