[英]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.