我对Python有一个奇怪的问题。
如果我在本地python计算机上使用西里尔字母单词运行此脚本,则该脚本可以正常运行。但是,如果我在Dataproc上将其作为Spark作业运行,它将打印出非常不同的内容。
str1 = 'Кровати'
print(str1)
我本地python上的输出为Кровати
在Dataproc上是ÐÑоваÑи
这是问题的核心。我之所以需要这样做的真正原因是,我的数据中有很多俄语单词,然后即使字符串应该相同,从BQ加载的数据和config中的单词之间的比较也不起作用。
感谢您的帮助
答案 0 :(得分:1)
我认为这是因为源代码的编码,在本地计算机上,默认编码设置正确,但是与Dataproc PySpark的默认编码不同。您可以按照https://www.python.org/dev/peps/pep-0263/来显式设置源代码的编码。