我的开发环境使用Eclipse OXYGEN,安装了Google Cloud for Eclipse 1.7.0。
我创建了Google云数据流Java项目。
测试wordcount示例时出现问题。
当读取存储桶中的文件时,它将从日志中正常输出,如下所示。
处理WordCount的数据并将数据存储在存储桶中时会出现问题。
如果您检查保存的文件,则可以看到上面的图片。
数据流不支持韩语吗?
这是我的TextIO.write代码
static class WriteData extends PTransform<PCollection<KV<URI, String>>, PDone>
{
private String output;
public WriteData(String output)
{
this.output = output;
}
@Override
public Coder<?> getDefaultOutputCoder()
{
return KvCoder.of(StringDelegateCoder.of(URI.class), StringUtf8Coder.of());
}
@Override
public PDone expand(PCollection<KV<URI, String>> outputfile) {
// TODO Auto-generated method stub
return outputfile
.apply(ParDo.of(new DoFn<KV<URI, String>, String>(){
@ProcessElement
public void processElement(ProcessContext c)
{
output = c.element().getKey().toString();
LOG.info("WRITE DATA : " + c.element().getValue());
c.output(c.element().getValue());
}
}))
.apply(TextIO.write().to(output).withSuffix(".txt"));
}
}
答案 0 :(得分:0)
在大多数情况下,可以自动推断出正确的编码器,但是如果没有,则请确保在读取数据时指定了编码器。
当您需要指定编码器时,通常在从外部源将数据读取到管道中(或从本地数据创建管道数据)以及将管道数据输出到外部接收器时执行此操作。 / p>
例如,您可以解码数据以读取:
StringUtf8Coder.of().decode(inStream)