我正在尝试将Big Query导出到Cloud Storage功能以节省一些钱。想要的是在AVRO中导出以压缩以保持架构,并能够根据需要在Big Query上再次将其导回。由于Big Query会以未压缩的大小收费数据,而我的数据是高度冗余的, 因此应该最多压缩20倍。
在UI界面上,导出到AVRO时没有压缩选项。因此,我假设默认情况下将使用,但事实并非如此。它无需压缩即可导出AVRO,这对我来说毫无意义,因为文件的大小与表相同,并且花费相同的东西保存在Big Query和Cloud Storage中。
https://cloud.google.com/bigquery/docs/exporting-data
没有关于此的任何信息。
有人知道是否还有另一种方法可以在群集上导出并加载以转换为压缩的AVRO并再次不保存云存储吗?
答案 0 :(得分:3)
因此,在进行大量研究后,一个朋友发现了Big查询库的python代码,发现可以将一些未记录的AVRO压缩选项传递给API:DEFLATE和SNAPPY
我认为这是新事物,尚无文档,还没有显示在WEB界面上。
我对其进行了测试并可以工作!我的一张表中没有压缩的导出是一个2.8GB的AVRO文件,现在带有DEFLATE的是170MB。
答案 1 :(得分:0)
我认为是新手,还没有文档
在configuration.extract.compression
您也可以在bq命令行中看到它
bq help extract
尚未在WEB界面上
是的。 BigQuery UI中不提供AVRO的压缩选项-传统UI和新UI
应该可以在API和bq命令行中使用,以及已经为AVRO实施了压缩的任何客户端库