如何使用Apache Beam创建tar.gz文件

huangapple go评论75阅读模式
英文:

How to create tar.gz file using apache beam

问题

我使用以下内容创建了一个 tar.gz 文件,生成了一个 .gz 文件,但 tar 文件不可用。如何实现想要的结果?

PCollection<String> lines = pipeline.apply("读取文件",
    TextIO.read().from(<文件路径>));

lines.apply(TextIO.write()
    .to("C:\\Ddrive\\saveAllRequest1.txt")
    .withCompression(Compression.GZIP);

还有,如何对多个文件进行打包(tar)操作。

提前致谢。

英文:

I used the below to create a tar.gz file, and .gz file was created but tar file was not available. How to achieve the result?

PCollection&lt;String&gt; lines = pipeline.apply(&quot;To read from file&quot;,
    TextIO.read().from(&lt;file path&gt;));

lines.apply(TextIO.write()
    .to(&quot;C:\\Ddrive\\saveAllRequest1.txt&quot;)
    .withCompression(Compression.GZIP);

and how to tar multiple files.

Thanks in advance

答案1

得分: 1

创建 tar 文件是一种固有的非并行操作。这里的一个选项是,在使用手动创建tarball的DoFn进行写入后,使用Wait 转换。

英文:

Creating a tar file is an inherently non-parallel operation. One option here is to use the Wait transform after your write with a DoFn that manually creates the tarball.

huangapple
  • 本文由 发表于 2020年9月11日 11:39:47
  • 转载请务必保留本文链接:https://go.coder-hub.com/63840483.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定