使用python从bigquery处理大量数据集,将其加载回bigquery表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用python从bigquery处理大量数据集,将其加载回bigquery表相关的知识,希望对你有一定的参考价值。

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

答案

如果BigQuery中有大量数据并希望对其进行转换,一种可能的解决方案是使用名为Dataflow的基于GCP的功能。 Dataflow是基于Apache Beam的Googles托管服务。使用这种技术,可以编写一个包含BigQuery作为源和接收器的管道。 Dataflow专为极高容量数据处理而设计,可以自动并行化工作。此外,由于它都在GCP内运行,因此如果您通过Internet传输数据,则读取或写入数据时没有明显的延迟。 Dataflow允许程序员用Java或Python编写转换。

根据您的转型,更高级别(但类似的故事)可能是使用Google的Dataprep服务。 Dataprep提供了一种高级(业务级别)机制,可以在不需要任何编程的情况下转换数据。使用Dataprep,可以更高级别地描述转换,最终会代表您自动构建和运行Datalow作业。

以上是关于使用python从bigquery处理大量数据集,将其加载回bigquery表的主要内容,如果未能解决你的问题,请参考以下文章

Python/Pandas/BigQuery:如何使用大量新的时间序列数据有效地更新现有表?

数据处理 - BigQuery 与 Data Proc+BigQuery

通过 bigquery-python 库向 BigQuery 插入大量数据

BigQuery Python 无法删除数据集:数据集仍在使用中 [重复]

将时间戳从 Dataframe 加载到 BigQuery 数据集

使用 python 将历史数据从谷歌云存储移动到日期分区的 bigquery 表