Python apache beam 从数据集中删除元素
Python apache beam remove elements from data set
虽然我有一个包含键和几个元素的数据集(a.k。值?):
['7 juni', '215', '196', '219', '228', '200', '234', '212']
['8 juni', '228', '236', '215', '229', '214', '231', '224']
我只想使用第一个和最后一个元素,但我想将它们保留为元素而不是字符串。
"| beam.Map(lambda item: item[0] + ' ,' + str(item[7]))"
生成字符串:
7 juni ,212
8 juni ,224
我要元素
['7 juni', '212']
['8 juni', '224']
这可以使用 python 光束变换吗?
我不确定光束是什么,但这是一个非常简单的问题。 运行 这个(我认为类似于你的申请):
groups = [['a',1,2,3],['b',4,5,6,7]]
results = []
for group in groups:
key = group[0]
for val in group[1:]:
results.append([key,val])
print(results)
结果[['a',1], ['a'.2], ['a',3], ['b',4], ['b',5], ['b',6], ['b',7]]
或者,如果您只想保留最后一个元素,您可以编写
pcoll = ...
results = pcoll | beam.Map(lambda input: [input[0], input[-1]])
如果 pcoll 是
['7 juni', '215', '196', '219', '228', '200', '234', '212']
['8 juni', '228', '236', '215', '229', '214', '231', '224']
...
会生成一个
的 PCollection
['7 juni', '212']
['8 juni', '224']
...
虽然我有一个包含键和几个元素的数据集(a.k。值?):
['7 juni', '215', '196', '219', '228', '200', '234', '212']
['8 juni', '228', '236', '215', '229', '214', '231', '224']
我只想使用第一个和最后一个元素,但我想将它们保留为元素而不是字符串。
"| beam.Map(lambda item: item[0] + ' ,' + str(item[7]))"
生成字符串:
7 juni ,212
8 juni ,224
我要元素
['7 juni', '212']
['8 juni', '224']
这可以使用 python 光束变换吗?
我不确定光束是什么,但这是一个非常简单的问题。 运行 这个(我认为类似于你的申请):
groups = [['a',1,2,3],['b',4,5,6,7]]
results = []
for group in groups:
key = group[0]
for val in group[1:]:
results.append([key,val])
print(results)
结果[['a',1], ['a'.2], ['a',3], ['b',4], ['b',5], ['b',6], ['b',7]]
或者,如果您只想保留最后一个元素,您可以编写
pcoll = ...
results = pcoll | beam.Map(lambda input: [input[0], input[-1]])
如果 pcoll 是
['7 juni', '215', '196', '219', '228', '200', '234', '212']
['8 juni', '228', '236', '215', '229', '214', '231', '224']
...
会生成一个
的 PCollection['7 juni', '212']
['8 juni', '224']
...