我知道是因为 map
是函数而不是列表方法。但是有没有一种方法可以使用map函数将数据传递给名为insidemap的函数呢。
这是我的密码:
def func1(lines):
global newlst
for line in lines:
qtype = re.search("qtype=(\S+)",str(line))
......
file = sc.textFile("C:\\TestLogs\\sample.log").cache()
result = file.map(lambda x: x.split("\n")).collect()
print(type(result)) #it is a list
lines = result.map(func1).collect() #I want to pass the contents of result to func1 through map function.
错误:
lines = result.map(func1).collect()
AttributeError: 'list' object has no attribute 'map'
有没有其他方法可以传递我的数据 results
至 func1
但是通过使用 map
或者spark中产生rdd的任何概念?
1条答案
按热度按时间8i9zcol21#
问题在于调用collect将rdd的结果存储在此处:
此命令将返回给您一个列表,而不是rdd。如果你移除
collect()
从这一行开始:这会有用的。