【发布时间】:2017-07-13 06:36:16
【问题描述】:
我正在尝试使用数据流程序重命名云存储文件。有可能这样做吗?如果是,那么如何。
【问题讨论】:
标签: google-cloud-storage google-cloud-dataflow apache-beam
我正在尝试使用数据流程序重命名云存储文件。有可能这样做吗?如果是,那么如何。
【问题讨论】:
标签: google-cloud-storage google-cloud-dataflow apache-beam
虽然 Apache Beam SDK 不包含用于重命名文件的现成 PTransform,但没有什么可以阻止您自己进行 - 管道可以包含 DoFn 中的任意代码,您可以使用标准Google Cloud Storage Java APIs,或者更方便的是,使用 Beam 的 FileSystems API。例如:
class RenameFn extends DoFn<KV<String, String>, Void> {
@ProcessElement
public void process(ProcessContext c) {
ResourceId src = FileSystems.matchNewResource(c.element().getKey());
ResourceId dest = FileSystems.matchNewResource(c.element().getValue());
FileSystems.rename(Arrays.asList(src), Arrays.asList(dest));
}
}
【讨论】: