Google bigquery 如何下载Google BigQuery数据集中的所有数据?
有没有一种简单的方法可以直接下载Google BigQuery上某个数据集中包含的所有数据?实际上,我正在下载“作为csv”,一个接一个地进行查询,但它不允许我获得超过15k行,我需要下载的行数超过5M。Google bigquery 如何下载Google BigQuery数据集中的所有数据?,google-bigquery,Google Bigquery,有没有一种简单的方法可以直接下载Google BigQuery上某个数据集中包含的所有数据?实际上,我正在下载“作为csv”,一个接一个地进行查询,但它不允许我获得超过15k行,我需要下载的行数超过5M。 谢谢您可以使用Web UI、命令行工具或BigQuery API运行BigQuery提取作业。数据可以被提取出来 例如,使用命令行工具: 首先,按照以下说明进行安装和验证: 然后确保您有一个可用的Google云存储桶(请参阅) 然后,运行以下命令: bq提取我的数据集。我的表格gs://my
谢谢您可以使用Web UI、命令行工具或BigQuery API运行BigQuery提取作业。数据可以被提取出来 例如,使用命令行工具: 首先,按照以下说明进行安装和验证: 然后确保您有一个可用的Google云存储桶(请参阅) 然后,运行以下命令:
bq提取我的数据集。我的表格gs://mybucket/myfilename.csv
有关通过API提取数据的更多信息,请参见:
详细的一步一步下载大型查询输出
- 确保单击GZIP压缩
- 使用类似于
的名称 如果输出非常大,则文件名必须有星号/prefix.gz
,并且输出将拆分为多个文件*
gsutil
并运行:
gsutil -m cp -r 'gs://<bucket>/prefix_*' .
以下是。是的,Michael Manoochehri建议的步骤是从Google Bigquery导出数据的正确且简单的方法。
我已经编写了一个bash脚本,所以您不需要每次都执行这些步骤,只需使用我的bash脚本即可。 以下是github url: 范围:
1.基于大查询SQL导出数据。
2.根据表名导出数据。
3.将导出文件传输到SFtp服务器。
试试看,让我知道你的反馈。
为了帮助python使用ExportDataFromBigQuery.sh-h,您可以使用以下代码,它将下载数据作为数据帧
from google.cloud import bigquery
def read_from_bqtable(bq_projectname, bq_query):
client = bigquery.Client(bq_projectname)
bq_data = client.query(bq_query).to_dataframe()
return bq_data #return dataframe
bigQueryTableData_df = read_from_bqtable('gcp-project-id', 'SELECT * FROM `gcp-project-id.dataset-name.table-name` ')
声明如果它的行数>16k,你必须将它作为一个表导出到谷歌云存储中。谢谢:回答得好,但谷歌的政策非常蹩脚。错误的方法,强制用户订阅其服务我继续获取
ServiceException:401匿名用户在步骤10中没有对bucket的storage.objects.list访问权限。我该怎么解决这个问题?@Soubriquet对不起,好久没碰这个了。请问另一个问题,并在另一条评论中给我链接。@Soubriquet这个答案可能就是你想要的。
from google.cloud import bigquery
def read_from_bqtable(bq_projectname, bq_query):
client = bigquery.Client(bq_projectname)
bq_data = client.query(bq_query).to_dataframe()
return bq_data #return dataframe
bigQueryTableData_df = read_from_bqtable('gcp-project-id', 'SELECT * FROM `gcp-project-id.dataset-name.table-name` ')