Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 使用BigQuery选择所有相关行(从GAE读取日志)_Google App Engine_Google Bigquery - Fatal编程技术网

Google app engine 使用BigQuery选择所有相关行(从GAE读取日志)

Google app engine 使用BigQuery选择所有相关行(从GAE读取日志),google-app-engine,google-bigquery,Google App Engine,Google Bigquery,我的Google应用程序引擎日志将通过标准导出到BigQuery。我想查询“显示任何日志行包含字符串的请求的所有日志行” 此查询提供了我感兴趣的请求ID: SELECT protoPayload.requestId AS reqId FROM TABLE_QUERY(logs, 'true') WHERE protoPayload.line.logMessage contains 'INTERNAL_SERVICE_ERROR' …这让我可以查询相关行: SELECT metad

我的Google应用程序引擎日志将通过标准导出到BigQuery。我想查询“显示任何日志行包含字符串的请求的所有日志行”

此查询提供了我感兴趣的请求ID:

SELECT protoPayload.requestId AS reqId
  FROM TABLE_QUERY(logs, 'true') 
  WHERE protoPayload.line.logMessage contains 'INTERNAL_SERVICE_ERROR'
…这让我可以查询相关行:

SELECT
  metadata.timestamp AS Time,
  protoPayload.host AS Host,
  protoPayload.status AS Status,
  protoPayload.resource AS Path,
  protoPayload.line.logMessage
FROM
  TABLE_QUERY(logs, 'true')
WHERE
  protoPayload.requestId in ("requestid1", "requestid2", "etc")
ORDER BY time

但是,我在将这两个问题合并到一个查询中时遇到了困难。BQ似乎不允许WHERE子句中的SUBSELECT,当我尝试使用命名表进行传统的自连接时,会收到令人困惑的错误消息。秘密是什么?

要选择至少一条logMessage包含给定字符串的行,可以使用省略IF构造

SELECT
  metadata.timestamp AS Time,
  protoPayload.host AS Host,
  protoPayload.status AS Status,
  protoPayload.resource AS Path,
  protoPayload.line.logMessage
FROM
  TABLE_QUERY(logs, 'true')
OMIT RECORD IF
  EVERY(NOT (protoPayload.line.logMessage contains 'INTERNAL_SERVICE_ERROR'))
ORDER BY time

否,它只返回匹配的特定行。protoPayload.line是一个重复记录字段;我想要一个请求中的所有行,因为请求中的任何一行都符合条件。明白了-我据此更改了建议的答案哇,这根本不是我所期望的。工作很好-谢谢!加入应该有效。令人困惑的错误信息是什么?你能分享你的加入sql以便我们可以帮助编辑它吗?