Google cloud dataflow 谷歌数据流中groupby之后的计数
我的谷歌云存储中有以下内容Google cloud dataflow 谷歌数据流中groupby之后的计数,google-cloud-dataflow,apache-beam,Google Cloud Dataflow,Apache Beam,我的谷歌云存储中有以下内容 Advertiser | Event __________________ 100 | Click 101 | Impression 100 | Impression 100 | Impression 101 | Impression 我的管道输出应该是 Advertiser | Count 100 | 3 101 | 2 首先我使用了groupByKey,输出如下 100 Click, Impression, Impression 101 Impr
Advertiser | Event
__________________
100 | Click
101 | Impression
100 | Impression
100 | Impression
101 | Impression
我的管道输出应该是
Advertiser | Count
100 | 3
101 | 2
首先我使用了groupByKey,输出如下
100 Click, Impression, Impression
101 Impression, Impression
如何从这里开始?您可能需要使用组合功能,而不是使用
分组键,这是一种组合功能,可在分组键之前和之后进行优化。您的管道可以如下所示:
Python
collection_contents = [(100, 'Click'),
(101, 'Impression'),
(100, 'Impression'),
(100, 'Impression'),
(101, 'Impression']
input_collection = pipeline | beam.Create(collection_contents)
counts = input_collection | Count.PerKey()
这将输出一个包含您要查找的形状的集合。Count
系列转换可在apache_beam.transforms.combiners.combiner.Count
模块中找到
Java
Java在org.apache.beam.sdk.transforms
包中存在相同的转换:
PCollection<KV<Integer, Integer>> resultColl = inputColl.apply(Count.perKey())
PCollection resultColl=inputColl.apply(Count.perKey())
此计数模式已在Apache Beam的“单词计数”示例中描述
找到样品在。计数从第95行开始。请包含到目前为止的相关代码片段。