【发布时间】:2017-07-07 07:10:06
【问题描述】:
我有一个包含相同架构的 csv 文件文件夹,我想加载到 bigquery 表中。
是否可以选择将文件夹路径作为 BQ 命令的输入以加载到 bigquery 表中?我很想知道是否可以在不迭代文件或在源头合并输入文件的情况下完成。
【问题讨论】:
标签: google-bigquery
我有一个包含相同架构的 csv 文件文件夹,我想加载到 bigquery 表中。
是否可以选择将文件夹路径作为 BQ 命令的输入以加载到 bigquery 表中?我很想知道是否可以在不迭代文件或在源头合并输入文件的情况下完成。
【问题讨论】:
标签: google-bigquery
如果可以选择使用云存储,您可以将它们全部放在存储桶中的公共前缀中并使用通配符,例如gs://my_bucket/some/path/files* 快速指定具有多个输入的单个加载作业。
【讨论】:
注意
您只能对存储桶中的对象(文件名)使用一个通配符。通配符可以出现在对象名称内或对象名称的末尾。不支持将通配符附加到存储桶名称。
因此不支持gs://my_bucket/some/*/files* 之类的内容。
来源:https://cloud.google.com/bigquery/docs/loading-data-cloud-storage#load-wildcards
【讨论】:
如果您想递归地包含所有 CSV,文件可以位于子目录中:
bq load --source_format=CSV \
dataset_name.table_name \
"gs://my_bucket/folder/*.csv"
这会在中间路径和文件名上放置一个通配符。 (例如 * 扩展为 subfolder/folder2/filename)
【讨论】: