使用python处理来自bigquery的巨大数据集,并将其加载回bigquery表

时间:2019-03-29 18:28:46

标签: python google-cloud-platform google-bigquery bigdata

我在bigquery中有一个庞大的数据集,具有5000万行和57列。我想做很多不使用sql的过滤/转换/清理。我尝试使用dask / panda / python将数据加载到本地mac的dask数据框中,进行转换,然后将数据推回bigquery,以便其他BU可以使用它。将数据推送回bigquery需要3个多小时。还有其他方法或我可以利用的Google云服务吗?

1 个答案:

答案 0 :(得分:1)

如果BigQuery中包含大量数据并希望对其进行转换,则一种可能的解决方案是使用基于GCP的称为Dataflow的功能。数据流是基于Apache Beam的Google托管服务。使用这项技术,可以编写一个将BigQuery作为源和接收器的管道。 Dataflow是专门为处理大量数据而设计的,可以自动并行处理工作。另外,由于它们都在GCP内运行,因此,如果通过Internet传输数据,则不会出现有意义的读写延迟。数据流允许程序员使用Java或Python编写转换。

取决于您的转换,更高级别(但类似的故事)可能是使用Google的Dataprep服务。 Dataprep提供了高级(业务级别)机制来转换数据,而无需进行任何编程。使用Dataprep,可以在更高层次上描述转换,最终可以代表您自动构建并运行Datalow作业。