在 Google 云存储中连接 Avro 文件
Concat Avro files in Google Cloud Storage
我在 Google 云存储中有一些大的 .avro
文件,我想将它们全部合并到一个文件中。
我得到了
java -jar avro-tools.jar concat
但是,由于我的文件位于 google 存储路径中:gs://files.avro
我无法使用 avro-tools 连接它们。关于如何解决它有什么建议吗?
您可以使用gsutil compose
命令。例如:
gsutil compose gs://bucket/obj1 [gs://bucket/obj2 ...] gs://bucket/composite
Note: For extremely large files and/or very low per-machine bandwidth, you may want to split the file and upload it from multiple machines, and later compose these parts of the file manually.
在我的案例中,我使用以下值对其进行了测试:foo.txt 包含单词 Hello 和 bar.txt 包含一个单词 World。 运行 这个命令:
gsutil compose gs://bucket/foo.txt gs://bucket/bar.txt gs://bucket/baz.txt
baz.txt 会 return:
Hello
World
Note: GCS does not support inter-bucket composing.
以防万一您遇到有关 integrity checks 的异常错误,运行 gsutil help crcmod
获取有关如何修复它的说明。
查看https://github.com/spotify/gcs-tools
Light weight wrapper that adds Google Cloud Storage (GCS) support to common Hadoop tools, including avro-tools, parquet-cli, proto-tools for Scio's Protobuf in Avro file, and magnolify-tools for Magnolify code generation, so that they can be used from regular workstations or laptops, outside of a Google Compute Engine (GCE) instance.
我在 Google 云存储中有一些大的 .avro
文件,我想将它们全部合并到一个文件中。
我得到了
java -jar avro-tools.jar concat
但是,由于我的文件位于 google 存储路径中:gs://files.avro
我无法使用 avro-tools 连接它们。关于如何解决它有什么建议吗?
您可以使用gsutil compose
命令。例如:
gsutil compose gs://bucket/obj1 [gs://bucket/obj2 ...] gs://bucket/composite
Note: For extremely large files and/or very low per-machine bandwidth, you may want to split the file and upload it from multiple machines, and later compose these parts of the file manually.
在我的案例中,我使用以下值对其进行了测试:foo.txt 包含单词 Hello 和 bar.txt 包含一个单词 World。 运行 这个命令:
gsutil compose gs://bucket/foo.txt gs://bucket/bar.txt gs://bucket/baz.txt
baz.txt 会 return:
Hello
World
Note: GCS does not support inter-bucket composing.
以防万一您遇到有关 integrity checks 的异常错误,运行 gsutil help crcmod
获取有关如何修复它的说明。
查看https://github.com/spotify/gcs-tools
Light weight wrapper that adds Google Cloud Storage (GCS) support to common Hadoop tools, including avro-tools, parquet-cli, proto-tools for Scio's Protobuf in Avro file, and magnolify-tools for Magnolify code generation, so that they can be used from regular workstations or laptops, outside of a Google Compute Engine (GCE) instance.