Google bigquery 如何在Google存储中将每个给定行长度的Bigquery表提取到csv文件中?

Google bigquery 如何在Google存储中将每个给定行长度的Bigquery表提取到csv文件中?,google-bigquery,google-cloud-shell,Google Bigquery,Google Cloud Shell,例如,我在bigquery中有一个1000万行的表,我想每10万行将这个表提取到Google存储中。为了清楚起见,我需要100个csv文件,每个文件在bigquery表中都有100k个不同的行 bq extract --noprint_header dataeset.abigtable gs://bucket/output/*.csv 将上述代码输入gcloud shell后,该表将在google存储中拆分为10个左右的文件。但是,我无法控制每个文件中有多少行。我如何控制它呢?没有任何方法可以

例如,我在bigquery中有一个1000万行的表,我想每10万行将这个表提取到Google存储中。为了清楚起见,我需要100个csv文件,每个文件在bigquery表中都有100k个不同的行

bq extract --noprint_header dataeset.abigtable gs://bucket/output/*.csv

将上述代码输入gcloud shell后,该表将在google存储中拆分为10个左右的文件。但是,我无法控制每个文件中有多少行。我如何控制它呢?

没有任何方法可以让您的用例成为可能。如果您认为此功能有帮助,可以将其作为一个文件归档,尽管BigQuery团队需要一些Star来确定此功能请求的优先级。为了使其更有意义,应该有一个业务用例来说明为什么需要这样做(例如,为什么需要导出的csv文件每个都有10万行?)

您无法控制它,因为BigQuery导出不支持它。“当您将数据导出到多个文件时,文件的大小会有所不同。”如果拆分的数量是固定的。我想至少我可以在大型查询中对表进行分区,比如
限制1000k偏移量2000k
,然后提取数据。如果我可以编写脚本并执行循环工作,那就容易多了。但是我不知道我应该在哪里运行这个循环以及如何运行。是否有任何代码可以在GoogleShell中工作并完成我的任务?你所说的“拆分数”是什么意思?您也无法控制将创建多少文件/碎片。