如何解决以块为单位的云存储构建文件
正在寻找如何在云存储中动态构建文件的示例。以下是我的用例:
这里的挑战是云存储文件是不可变的,所以一旦你在 GCS 中创建了对象,除非你覆盖同一个文件,否则你不能再重新打开它。 尝试使用流式传输和 resumable upload 功能进行探索,根据我的理解,它需要在上传之前准备好文件。
如果这是不可能的,我现在唯一的选择是将每个块上传为不同的文件,并使用云存储组合功能将这些块合并为一个文件。鉴于您需要创建多个对 GCS 的请求来完成一个文件,这是非常昂贵的。
解决方法
如果您的最终文件格式是 CSV、JSONL(行)、AVRO 或 Parquet,您可以使用表格导出功能。如果您导出的文件小于 1Gb,则只会生成一个文件。
- Java 应用程序查询 BigQuery 并将结果接收到临时表中
CREATE TABLE `myproject.mydataset.mytemptable`
OPTIONS(
expiration_timestamp=TIMESTAMP_ADD(CURRENT_TIMESTAMP(),INTERVAL 1 HOUR)
) AS
SELECT ....
- Java 应用程序执行 table export
仅此而已。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。