如何在python apache beam中展平多个PCollection

如何在python apache beam中展平多个PCollection,python,stream,apache-beam,Python,Stream,Apache Beam,如何实现位于以下位置的以下逻辑: //将两个pcollection与flant//me合并 PCollectionList collectionList=PCollectionList.of(aCollection.)和(bCollection); PCollection mergedcollectionwithflant=collectionList .apply(展平.pCollections()); //继续新合并的PCollection 合并集合与展平。应用(…); 多个PCollec

如何实现位于以下位置的以下逻辑:

//将两个pcollection与flant//me合并
PCollectionList collectionList=PCollectionList.of(aCollection.)和(bCollection);
PCollection mergedcollectionwithflant=collectionList
.apply(展平.pCollections());
//继续新合并的PCollection
合并集合与展平。应用(…);
多个PCollection可以组合成一个PCollection 在apache beam python api中

您也可以使用变换。例如:

data1=['1','2','3']
数据2=[‘四’、‘五’]
input1=p |“创建PCollection1”>>beam.Create(数据1)
input2=p |“创建PCollection2”>>beam.Create(数据2)
合并=((输入1,输入2)|‘合并PCollections’>>beam.flatte())
合并的PCollection将包含:

INFO:root:one
信息:root:2
信息:root:3
信息:root:4
信息:root:5
完整代码:

import argparse,日志记录
将apache_梁作为梁导入
从apache_beam.options.pipeline_options导入PipelineOptions
从apache_beam.options.pipeline_options导入设置选项
船级社LogFn(横梁DoFn):
“”“打印信息”“”
def流程(自身、要素):
logging.info(元素)
返回元素
def运行(argv=None):
parser=argparse.ArgumentParser()
已知参数,管道参数=解析器。解析已知参数(argv)
管道选项=管道选项(管道参数)
管道选项。查看为(设置选项)。保存主会话=真
p=梁.管道(选项=管道\选项)
数据1=[‘一’、‘二’、‘三’]
数据2=[‘四’、‘五’]
input1=p |“创建PCollection1”>>beam.Create(数据1)
input2=p |“创建PCollection2”>>beam.Create(数据2)
合并=((输入1,输入2)|‘合并PCollections’>>beam.flatte())
合并|“检查结果”>>beam.ParDo(LogFn())
结果=p.运行()
结果。等待直到完成()
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
logging.getLogger().setLevel(logging.INFO)
运行()
//merge the two PCollections with Flatten//me 
PCollectionList<String> collectionList = PCollectionList.of(aCollection).and(bCollection);
PCollection<String> mergedCollectionWithFlatten = collectionList
    .apply(Flatten.<String>pCollections());

// continue with the new merged PCollection
mergedCollectionWithFlatten.apply(...);