gpt4 book ai didi

java - 在 Google Cloud Dataflow 中使用具有复杂 PCollection 类型的 TextIO.Write

转载 作者:行者123 更新时间:2023-11-29 03:11:24 24 4
gpt4 key购买 nike

我有一个看起来像这样的 PCollection:

PCollection<KV<KV<String, EventSession>, Long>> windowed_counts

我的目标是将其写成文本文件。我想用像这样的东西:

windowed_counts.apply( TextIO.Write.to( "output" ));

但我很难正确设置编码器。这是我认为可行的方法:

    KvCoder kvcoder = KvCoder.of(KvCoder.of(StringUtf8Coder.of(), AvroDeterministicCoder.of(EventSession.class) ), TextualLongCoder.of());
TextIO.Write.Bound io = TextIO.Write.withCoder( kvcoder );
windowed_counts.apply( io.to( "output" ));

其中 TextualLongCoder 是我自己的 AtomicCoder 子类,类似于 TextualIntegerCoder。 EventSession 类被注释为使用 AvroDeterministicCoder 作为它的默认编码器。

但是有了这个我得到了包含非文本字符等的乱码输出。有人可以建议你如何将这个特定的 PCollection 写成文本吗?我确定我在这里遗漏了一些明显的东西......

最佳答案

您是否尝试创建一个转换来转换 PCollectionKV<KV<String, EventSession>, Long>PCollectionString s 然后将其写入文本文件?

我发现这是满足我需求的最灵活的方式

关于java - 在 Google Cloud Dataflow 中使用具有复杂 PCollection 类型的 TextIO.Write,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29131859/

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