Google bigquery GCP Bigquery:Can';t查询在cloudstorage中导出的stackdriver访问日志,因为json字段无效@“类型”;

Google bigquery GCP Bigquery:Can';t查询在cloudstorage中导出的stackdriver访问日志,因为json字段无效@“类型”;,google-bigquery,google-cloud-stackdriver,Google Bigquery,Google Cloud Stackdriver,我使用标准的“接收器”将像素图像的访问日志存储在cloudstorage bucketdev access log bucket中 所以这些文件看起来像是requests/2019/05/08/15:00:00\u 15:59:59\u S1.json 其中一行是这样的(我格式化了json,但它通常在一行上): 所有这些都是标准的GCP东西,我没有在这里定制任何东西 现在我想从Bigquery对其执行一些请求,我创建了一个数据集和一个外部表,配置如下: External Data Configu

我使用标准的“接收器”将像素图像的访问日志存储在cloudstorage bucket
dev access log bucket

所以这些文件看起来像是
requests/2019/05/08/15:00:00\u 15:59:59\u S1.json
其中一行是这样的(我格式化了json,但它通常在一行上):

所有这些都是标准的GCP东西,我没有在这里定制任何东西

现在我想从Bigquery对其执行一些请求,我创建了一个数据集和一个外部表,配置如下:

External Data Configuration
Source URI(s) gs://dev-access-log-bucket/requests/*
Auto-detect schema true   (note: I don't know why it puts true though i've manually defined it)
Ignore unknown values true
Source format NEWLINE_DELIMITED_JSON
Max bad records 0
以及以下手动模式:

timestamp   DATETIME    REQUIRED    
httpRequest     RECORD  REQUIRED    
httpRequest. requestUrl     STRING  REQUIRED    
当我运行一个请求时

SELECT
  timestamp
FROM
  `path.to.my.table`
LIMIT
  1000
我得到

无效的字段名“@type”。字段必须仅包含字母、数字和下划线,以字母或下划线开头,长度不得超过128个字符


我如何解决这个问题,而不需要预先处理日志,使其不包含“@type”字段?

我想如果您尝试
bq将数据加载为表,您将遇到相同的错误,但可能值得一试。@YunZhang我将试一试,目前,我已经通过直接选择bigquery解决了这个问题,因为这听起来比
bq load
更好。我注意到,选择bigquery作为首选接收器解决了这个问题。我只想提供更多关于错误的见解,因为最有可能的是旧日志被用于。我能够找到,你可以用星号来表示你对它的兴趣。我想如果你尝试
bq将数据加载为一个表,你会遇到同样的错误,但可能值得一试。@YunZhang我会试试,目前,我已经通过直接选择bigquery解决了这个问题,因为这听起来比
bq load
更好。我注意到,选择bigquery作为首选接收器解决了这个问题。我只想提供更多关于错误的见解,因为最有可能的是旧日志被用于。我可以找到,你可以用星号来表示你对它的兴趣。
SELECT
  timestamp
FROM
  `path.to.my.table`
LIMIT
  1000