mrjob的add_file_arg始终给出“ TypeError:需要类似字节的对象,而不是'str'”

问题描述

我尝试复制“使用MapReduce和Hadoop驯服大数据-动手!”中的Marvel-Superhero教程。在udemy。我尝试加载辅助文本文件以将英雄ID映射到其名称。但是,add_file_arg总是给我

File "MostPopularsuperHero.py",line 23,in load_name_dictionary
    print (self.options.heronames)
TypeError: a bytes-like object is required,not 'str'

我的可复制代码是:

from mrjob.job import MRJob
from mrjob.step import MRStep

class MostPopularsuperHero(MRJob):

    def configure_args(self):
        super(MostPopularsuperHero,self).configure_args()
        self.add_file_arg(
            '--heronames',help="file of hero's names")


    def steps(self):
        return [
                MRStep(mapper_init = self.load_name_dictionary)
        ]


    def load_name_dictionary(self):
        
        print (self.options.heronames)
        

if __name__ == '__main__':
     MostPopularsuperHero.run()

请问该错误的原因是什么?谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)