Google bigquery 如何在BigQuery中将多个文件(同一架构)加载到一个表中?

Google bigquery 如何在BigQuery中将多个文件(同一架构)加载到一个表中?,google-bigquery,Google Bigquery,我有一个csv文件文件夹,其中的模式与我要加载到bigquery表中的模式相同 是否有一个选项将文件夹路径作为BQ命令的输入,以加载到bigquery表中?我想知道是否可以在不迭代文件或在源代码处合并输入文件的情况下完成此操作。如果可以选择使用云存储,您可以将它们全部放在一个bucket中的公共前缀中,并使用通配符(例如,gs://my_bucket/some/path/files*)快速指定具有多个输入的单个加载作业。请注意 对于bucket中的对象(文件名),只能使用一个通配符。通配符可以出

我有一个csv文件文件夹,其中的模式与我要加载到bigquery表中的模式相同


是否有一个选项将文件夹路径作为BQ命令的输入,以加载到bigquery表中?我想知道是否可以在不迭代文件或在源代码处合并输入文件的情况下完成此操作。

如果可以选择使用云存储,您可以将它们全部放在一个bucket中的公共前缀中,并使用通配符(例如,
gs://my_bucket/some/path/files*)
快速指定具有多个输入的单个加载作业。

请注意

对于bucket中的对象(文件名),只能使用一个通配符。通配符可以出现在对象名称内部或对象名称的末尾。不支持将通配符追加到bucket名称

因此,类似于
gs://my_bucket/some/*/files*
的内容不受支持


来源:

如果要递归包含所有CSV,文件可以位于子目录中:

bq load --source_format=CSV \
dataset_name.table_name \
"gs://my_bucket/folder/*.csv"

这会在中间路径和文件名上放置一个通配符。(例如。*扩展到
子文件夹/folder2/filename

谢谢。这很有效。如果文件在子文件夹中会怎样?我们可以设置从子文件夹递归加载数据的选项吗?GCS在这方面不是文件系统,路径实际上只是二进制对象的一个键。换句话说,只要字符串前缀与您想要的CSV文件匹配,gs://路径中有多少斜杠都无关紧要。是否需要通过谷歌云存储上传大量文件(数千个文件)?我只看到使用地面军事系统的答案,但这是非常间接的,可能更昂贵。