それはあなたが言っていることではないかもしれませんが、ただ推測してください:
ログを GBQ テーブルにロードして、各ログ行がテーブルの行になるようにし、以下のような方法で別のテーブルに解析するのはどうですか (コードは最適であるとは限りません - アイデアを示すためだけに)
SELECT
REGEXP_EXTRACT(log_line, r'(?: (?:.+?)){0} (.+?) '),
REGEXP_EXTRACT(log_line, r'(?: (?:.+?)){1} (.+?) '),
REGEXP_EXTRACT(log_line, r'(?: (?:.+?)){2} (.+?) '),
REGEXP_EXTRACT(log_line, r'(?: (?:.+?)){3} (.+?) '),
REGEXP_EXTRACT(log_line, r'(?: (?:.+?)){4} (.+?) '),
REGEXP_EXTRACT(log_line, r'(?: (?:.+?)){5} (.+?) '),
REGEXP_EXTRACT(log_line, r'(?: (?:.+?)){6} (.+?) '),
REGEXP_EXTRACT(log_line, r'(?: (?:.+?)){7} (.+?) '),
REGEXP_EXTRACT(log_line, r'(?: (?:.+?)){8} (.+?) '),
REGEXP_EXTRACT(log_line, r'(?: (?:.+?)){9} (.+?) '),
FROM (
SELECT ' ' + REGEXP_REPLACE(log_line, r'[\[\]\"]', '') + ' ' AS log_line
FROM
(SELECT '127.0.0.1 - - [24/May/2016:17:53:05 -0700] "POST /users HTTP/1.1" 200 10676' AS log_line)
)