我有一个 defaultdict
看起来是这样的:
"Some text" : ["Some date", "Some date", "Some Date"]
我尝试访问每个键的每个值,如下所示:
for processedTweet, date in tweetsDict.iteritems():
print date
for d in date:
print d
这在普通的python脚本中工作得很好。它首先打印整个列表,然后在for循环中打印每个日期。
但是,当我将此作为map/reduce作业的一部分发送到hadoop时,它会将列表分解为单个字符,而不是字符串,例如:
Some date
变成
S
o
m
等等。为什么会发生这种情况,我如何修复它?
1条答案
按热度按时间new9mtju1#
hadoop中的map/reduce作业将列表值分发给for循环,而不是传递整个列表。默认情况下,当python在string对象上迭代时,每次迭代都返回字符串中的下一个字符。