如何解决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 举报,一经查实,本站将立刻删除。