在循环外使用列表将 url 字符串与一些列表值连接起来
use a list outside my loop to concatenate a url string with some list values
我从 sqs 队列中收到 3 条消息:mapper.py、reducer.py 和 test.txt
...我将每条消息存储在一个列表中。
我想在我的映射器、reducer 和输入变量(最后 3 行代码)中使用每条消息的内容。
但是在我的 while 循环之外,我有 print "Connecting to EMR"
我不知道如何将我的文件名列表用于我想要的目的。
你有什么解决办法吗?
在我的 print item
内部 for 循环中,它仅显示 filenames_list 的第一个元素。
conn = SQSConnection()
myqueue = conn.get_queue('myQueue')
while myqueue.count() != 0:
filenames_list = list()
message = myqueue.read()
myqueue.delete_message(message)
filename = message.get_body()
filenames_list.append(filename)
for item in files_list:
print item
print "Connecting to EMR"
conn = boto.emr.connect_to_region('us-east-1')
print "Creating Streaming step"
step = StreamingStep(name='Example1',
# after myFolder/ I want to put here the content of my list relative to test.txt
mapper="s3n://myFolder/HereIWantToPutTheListContentRelatedToMapper.py",
# after myFolder/ I want to put here the content of my list relative to reducer.py
reducer="s3n://myFolder/HereIWantToPutTheListContentRelatedToReducer.py",
# after myFolder/ I want to put here the content of my list relative to mapper.py
input='s3n://myFolder/HereIWantToPutTheListContentRelatedToTest.txt',
output='s3n://myFolder/output/wordcount_output')
您在 while_loop 的每次迭代开始时将 files_list 初始化为一个空列表,因此您可能希望在列表外部初始化它并在每次迭代时附加到它while 循环?
我从 sqs 队列中收到 3 条消息:mapper.py、reducer.py 和 test.txt ...我将每条消息存储在一个列表中。
我想在我的映射器、reducer 和输入变量(最后 3 行代码)中使用每条消息的内容。
但是在我的 while 循环之外,我有 print "Connecting to EMR"
我不知道如何将我的文件名列表用于我想要的目的。
你有什么解决办法吗?
在我的 print item
内部 for 循环中,它仅显示 filenames_list 的第一个元素。
conn = SQSConnection()
myqueue = conn.get_queue('myQueue')
while myqueue.count() != 0:
filenames_list = list()
message = myqueue.read()
myqueue.delete_message(message)
filename = message.get_body()
filenames_list.append(filename)
for item in files_list:
print item
print "Connecting to EMR"
conn = boto.emr.connect_to_region('us-east-1')
print "Creating Streaming step"
step = StreamingStep(name='Example1',
# after myFolder/ I want to put here the content of my list relative to test.txt
mapper="s3n://myFolder/HereIWantToPutTheListContentRelatedToMapper.py",
# after myFolder/ I want to put here the content of my list relative to reducer.py
reducer="s3n://myFolder/HereIWantToPutTheListContentRelatedToReducer.py",
# after myFolder/ I want to put here the content of my list relative to mapper.py
input='s3n://myFolder/HereIWantToPutTheListContentRelatedToTest.txt',
output='s3n://myFolder/output/wordcount_output')
您在 while_loop 的每次迭代开始时将 files_list 初始化为一个空列表,因此您可能希望在列表外部初始化它并在每次迭代时附加到它while 循环?