Concat Avro文件在谷歌云存储



我在谷歌云存储中有一些大的.avro文件,我想将所有文件合并到一个文件中。

我有

java -jar avro-tools.jar concat

然而,由于我的文件在谷歌存储路径:gs://files.avro中,我无法使用avro工具连接它们。有什么关于如何解决的建议吗?

您可以使用gsutil compose命令。例如:

gsutil compose gs://bucket/obj1 [gs://bucket/obj2 ...] gs://bucket/composite

注意:对于非常大的文件和/或每台机器的带宽非常低的文件,您可能需要拆分文件并从多台机器上传,然后手动组成文件的这些部分。

在我的案例中,我用以下值测试了它:foo.txt包含一个单词Hellobar.txt包含一一个单词World。运行此命令:

gsutil compose gs://bucket/foo.txt gs://bucket/bar.txt gs://bucket/baz.txt

baz.txt将返回:

Hello
World

注意:GCS不支持桶间合成。

如果您在完整性检查方面遇到异常错误,请运行gsutil help crcmod以获取如何修复它的说明。

退房https://github.com/spotify/gcs-tools

轻量级包装器,它为常见的Hadoop工具添加了谷歌云存储(GCS(支持,包括avro工具、parquet-cli、avro文件中Scio Protobuf的proto工具,以及用于magnolify代码生成的magnolify工具,因此它们可以在谷歌计算引擎(GCE(实例之外的常规工作站或笔记本电脑上使用。

相关内容

  • 没有找到相关文章

最新更新