Google bigquery 使用BigQueryAPI或bq命令行工具创建新表

Google bigquery 使用BigQueryAPI或bq命令行工具创建新表,google-bigquery,Google Bigquery,我试图提出一种编程方法,从预先存在的表生成一个新的bigquery表。我知道如何使用bq命令行工具创建新视图 bq--project_id='myProject'mk--view=“从[MYDATASET.database]中选择*”myProject.newTable 但这会创建一个视图,这对我没有帮助,我需要创建一个表,原因有很多 我很乐意创建一个视图,然后能够定期从该视图生成一个新表,但如果不通过BigQueryWeb界面手动执行,我就不知道如何做到这一点 我非常感谢你的帮助 Brad如果

我试图提出一种编程方法,从预先存在的表生成一个新的bigquery表。我知道如何使用bq命令行工具创建新视图

bq--project_id='myProject'mk--view=“从[MYDATASET.database]中选择*”myProject.newTable

但这会创建一个视图,这对我没有帮助,我需要创建一个表,原因有很多

我很乐意创建一个视图,然后能够定期从该视图生成一个新表,但如果不通过BigQueryWeb界面手动执行,我就不知道如何做到这一点

我非常感谢你的帮助

Brad

如果它是普通表(不是视图),则可以使用“复制”命令:

bq cp <source> <destination>
bq-cp
如果试图具体化视图,或者如果需要在过程中修改表的内容(例如,添加/删除/转换字段),则可以使用目标表运行查询:

bq query \
  --destination_table=<destination> \
  --allow_large_results \
  --noflatten_results \
  'SELECT ... FROM <source>'
bq查询\
--目的地_表=\
--允许\u大\u结果\
--noflatte_结果\
'选择。。。从'

查询选项功能更强大,但运行查询将收取费用。副本是免费的。

当我尝试使用bq cp并且是一个视图时,我得到错误“使用表数据集:数据库。由于其类型,此操作不允许使用tablename。请尝试使用另一个表类型为table。”我正在尝试另一个选项,但是查询很复杂,需要花费相当长的时间来处理。如果源表是视图,bq cp将不起作用。因此,您需要使用查询版本。