Google bigquery 是否在导入到BigQuery时将文件名添加为列?

Google bigquery 是否在导入到BigQuery时将文件名添加为列?,google-bigquery,google-cloud-storage,Google Bigquery,Google Cloud Storage,这是一个关于将数据文件从Google云存储导入BigQuery的问题 我有许多JSON文件,它们遵循严格的命名约定,包括JSON数据本身中未包含的一些关键数据 例如: xxx_US_20170101.json.gz xxx_GB_20170101.json.gz xxx_DE_20170101.json.gz 这是client\u country\u date.json.gz目前,我在一个Ruby应用程序中有一些复杂的过程,它读取文件,附加额外的数据,然后将其写回一个文件,然后导入到BigQu

这是一个关于将数据文件从Google云存储导入BigQuery的问题

我有许多JSON文件,它们遵循严格的命名约定,包括JSON数据本身中未包含的一些关键数据

例如:

xxx_US_20170101.json.gz
xxx_GB_20170101.json.gz
xxx_DE_20170101.json.gz
这是
client\u country\u date.json.gz
目前,我在一个Ruby应用程序中有一些复杂的过程,它读取文件,附加额外的数据,然后将其写回一个文件,然后导入到BigQuery中客户端的一个每日表中


我想知道是否有可能抓取和解析文件名作为导入到BigQuery的一部分?然后,我可以删除复杂的Ruby进程,这些进程有时会在较大的文件上失败。

您可以定义一个指向您的文件的外部表:

请注意,表类型是“外部表”,它指向多个带有
*
glob的文件

现在,您可以查询这些文件中的所有数据,并查询元列
\u FILE\u NAME

#standardSQL
SELECT *, _FILE_NAME filename
FROM `project.dataset.table` 
现在可以将这些结果保存到新的本机表中


您是否确实喜欢将客户机/文件名交叉连接到表中?这很好,谢谢,Felipe。我刚在你发布时发现:)问题……如果你向bucket文件夹添加更多文件,这会自动工作吗?