gpt4 book ai didi

apache-beam - 从 Apache Beam 管道收集输出并将其显示到控制台

转载 作者:行者123 更新时间:2023-12-04 17:31:09 25 4
gpt4 key购买 nike

我已经在 Apache Beam 上工作了几天。我想快速迭代我正在工作的应用程序,并确保我正在构建的管道没有错误。在 Spark 中我们可以使用 sc.parallelise当我们应用一些 Action 时,我们会得到可以检查的值。

同样,当我阅读 Apache Beam 时,我发现我们可以创建一个 PCollection并使用以下语法使用它

with beam.Pipeline() as pipeline:
lines = pipeline | beam.Create(["this is test", "this is another test"])
word_count = (lines
| "Word" >> beam.ParDo(lambda line: line.split(" "))
| "Pair of One" >> beam.Map(lambda w: (w, 1))
| "Group" >> beam.GroupByKey()
| "Count" >> beam.Map(lambda (w, o): (w, sum(o))))
result = pipeline.run()

我实际上想将结果打印到控制台。但我找不到任何关于它的文档。

Is there a way to print the result to console instead of saving it to a file each time?

最佳答案

您不需要临时列表。在 python 2.7 中,以下内容就足够了:

def print_row(row):
print row

(pipeline
| ...
| "print" >> beam.Map(print_row)
)

result = pipeline.run()
result.wait_until_finish()

在 python 3.x 中, print是一个函数,所以以下就足够了:
(pipeline 
| ...
| "print" >> beam.Map(print)
)

result = pipeline.run()
result.wait_until_finish()

关于apache-beam - 从 Apache Beam 管道收集输出并将其显示到控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46406419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com