pyspark读取包含中文的文件,打印结果中文显示不正常

今天使用pyspark读取一份包含中文的文件时,通过take操作出来的结果中文显示不正常,如下图所示

pyspark读取包含中文的文件,打印结果中文显示不正常

通过查询,发现此时pyspark的环境编码是ascii码,而Linux系统编码是utf-8

pyspark读取包含中文的文件,打印结果中文显示不正常

pyspark读取包含中文的文件,打印结果中文显示不正常

重新设置pyspark的环境编码

pyspark读取包含中文的文件,打印结果中文显示不正常

测试发现可以能否正常打印中文字符串,但是打印data.take(2)又不行,这是因为data.take(2)得到的是一个列表。此时可以用下面的命令进行打印

pyspark读取包含中文的文件,打印结果中文显示不正常