Python 将数据从BigQuery导出到本地PostgreSQL/MySql数据库

Python 将数据从BigQuery导出到本地PostgreSQL/MySql数据库,python,google-bigquery,Python,Google Bigquery,我是BigQuery和BigQuery-virgin的Python API 我的任务是:使用BigQuery和Python API从中提取数据,将数据加载到MySql/PostgreSQL本地数据库(安装在我电脑上的数据库) 我的看法是(经过2小时的研究): 将数据拉入本地csv文件(),将该文件中的数据加载到数据库中 这类似于执行任务的正确方式吗 如果没有,你能提供一些建议/指导吗 提前感谢。API方法 上面列出的步骤是正确的。总而言之,开发商应: 使用BigQuery API的“”方法插入数

我是BigQuery和BigQuery-virgin的Python API

我的任务是:使用BigQuery和Python API从中提取数据,将数据加载到MySql/PostgreSQL本地数据库(安装在我电脑上的数据库)

我的看法是(经过2小时的研究): 将数据拉入本地csv文件(),将该文件中的数据加载到数据库中

这类似于执行任务的正确方式吗

如果没有,你能提供一些建议/指导吗


提前感谢。

API方法

上面列出的步骤是正确的。总而言之,开发商应:

  • 使用BigQuery API的“”方法插入数据提取作业-这将导致数据被发送到Google云存储桶

  • 使用Google云存储API的“”方法在本地下载文件

  • 为了获得额外的信任,我将使用“”方法查询原始的BQ表,以获得原始的BigQuery表模式,并使用该模式为MySQL导入步骤构建模式

  • WEB UI方法


    为什么不使用Google BigQuery Web UI运行您需要的任何查询,然后通过UI将数据导出到Google云存储桶中?为什么需要使用Python?

    这是正确的方法。可以省略csv文件步骤吗?有点忙?您可以运行查询并处理输出,但导出到CSV将加快导入SQL数据库的速度。我已经完成了。现在,我将对其进行润色,并在这里发布解决方案。因为互联网上没有这样的解决方案,所以atmIt是一种测试任务,让人们了解我有一些python技能:)但是,谢谢你的建议:)编辑:更新原始答案Ok-那么是的,上面列出的步骤是正确的。总之,你会:1。使用BigQueryAPI的“Job:insert”方法插入数据提取作业-这将导致数据被发送到Google云存储桶。2.使用GoogleCloudStorage API的“Objects:get”方法在本地下载文件。3.为了获得额外的信任,我将使用“Tables:get”方法查询原始的BQ表,以获得原始的BigQuery表模式,并使用它为MySQL导入步骤构建模式。太棒了!这意味着我是对的:)最后一件事。我是否需要支付任何费用才能启用Google存储桶?????我想不出一个免费的方法来访问itOk,似乎我需要为那个存储付费,而我现在没有任何东西。目前,我只是将作业->查询->执行的输出写入本地csv文件。我不确定这是不是最好的方法,但至少这是个好办法。你认为呢?BigQuery结果创建一个新表,当结果大小超过10Mb时创建数据页。因此,您可以查询该表,然后使用分页将结果的每页保存在本地CSV文件中:和