我有一个数据集存储为本地文件(~100GB未压缩JSON,仍然可以压缩),我想摄取到BigQuery(即存储在那里)。
某些指南(例如,https://www.oreilly.com/library/view/google-bigquery-the/9781492044451/ch04.html)建议先将此数据上传到Google Cloud Storage,然后再将其加载到BigQuery。
这样做是否有优势,而不是直接从本地源加载到BigQuery中(在本地文件上使用bq load
)?有几个地方建议这可能会加快加载速度或使其更可靠(Google Bigquery加载具有本地文件大小限制的数据,大型bigquery加载作业的最可靠格式),但我不确定今天是否仍然如此。例如,根据其留档,BigQuery支持可恢复上传以提高可靠性(https://cloud.google.com/bigquery/docs/loading-data-local#resumable),尽管我不知道在使用bq load
时是否使用了这些。我能找到的唯一仍然适用的限制是压缩JSON文件的大小限制为4 GB(https://cloud.google.com/bigquery/quotas#load_jobs)。
是的,在云存储中拥有数据是开发过程中的一大优势。在我的案例中,我经常多次从云存储中的数据创建一个BigQuery表,直到我调整所有的东西,如架构、模型、分区、解决错误等。每次上传数据都会非常耗时。
云存储到BigQuery
优点
缺点
所以我会先将数据存储到Cloud Storage,但当然,这取决于您的用例。