将大文件从Google BigQuery传输到Google云端存储

Bob*_*byD 5 google-cloud-storage google-bigquery

我需要将BigQuery,2B记录中的大表转移到具有csv格式的云存储.我正在使用控制台进行传输.

由于文件的大小,我需要指定一个包含*的uri来对导出进行分片.我最终在云存储中有400个csv文件.每个都有一个标题行.

这使得组合文件很耗时,因为我需要将csv文件下载到另一台机器,去掉标题行,合并文件,然后重新上传.FY组合csv文件的大小约为48GB.

有更好的方法吗?

Dav*_*vid 4

使用 API,您将能够告诉 BigQuery 在表提取期间不要打印标题行。这是通过将configuration.extract.printHeader选项设置为 来完成的false。请参阅文档以获取更多信息。命令行实用程序也应该能够做到这一点。

完成此操作后,连接文件就容易多了。在 Linux/Mac 计算机中,这将是一个cat命令。不过,您也可以尝试使用该操作直接从 Cloud Storage连接compose请在此处查看更多详细信息。可以通过 API 或命令行实用程序执行组合。

由于合成操作仅限于 32 个组件,因此您必须在 32 个文件之后合成 32 个文件。这将为 400 个文件进行大约 13 次组合操作。请注意,我从未尝试过组合操作,所以我只是猜测这部分。