我需要每天将数据从bigquery导出到google云端存储。数据量相当大(1TB),我将这些数据导出到谷歌存储后,我需要从中下载,这一步非常慢。所以我想知道我是否可以将gzip压缩数据导出到谷歌存储?这可以减少数据量,然后我可以非常快速地下载数据。
你能给我一些建议吗?因为我在从bigquery提取到谷歌云存储时没有在bigquery API中找到压缩函数。提前致谢!
答案 0 :(得分:1)
不幸的是,没有gzip选项。
也就是说,当您从Google云端存储下载文件时,您可以使用自动HTTP压缩为您执行gzip。只需添加HTTP标头:
accept-encoding: gzip
user-agent: anything
您需要定义用户代理标头可能看起来很奇怪。这对我们来说也很奇怪。这是众多Google产品中常见的功能,旨在避免无法正确处理压缩的浏览器中的错误(请参阅https://developers.google.com/appengine/kb/general?csw=1#compression)。
如果您使用gsutil下载文件,它将自动添加压缩标题。
答案 1 :(得分:1)
现在您可以使用gzip压缩导出到GCS。
另外,如果文件大于1GB,您可以指定' *'哪个会拆分文件 分成小块。