GCP Dataproc-西里尔字母无法在python中正确显示

时间:2019-08-06 12:57:28

标签: python apache-spark pyspark google-cloud-dataproc cyrillic

我对Python有一个奇怪的问题。

如果我在本地python计算机上使用西里尔字母单词运行此脚本,则该脚本可以正常运行。但是,如果我在Dataproc上将其作为Spark作业运行,它将打印出非常不同的内容。

str1 = 'Кровати'
print(str1)
我本地python上的

输出为Кровати 在Dataproc上是ÐÑоваÑи

这是问题的核心。我之所以需要这样做的真正原因是,我的数据中有很多俄语单词,然后即使字符串应该相同,从BQ加载的数据和config中的单词之间的比较也不起作用。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我认为这是因为源代码的编码,在本地计算机上,默认编码设置正确,但是与Dataproc PySpark的默认编码不同。您可以按照https://www.python.org/dev/peps/pep-0263/来显式设置源代码的编码。