Как запустить этот BigQuery SQL? - PullRequest
0 голосов
/ 06 мая 2019

Я хочу проанализировать секретные ключи биткойнов из github на bigquery, и я не могу запустить этот код

SELECT
 f.repo_name,
 f.path,
 c.pkey
FROM
    `bigquery-public-data:github_repos.files` f
JOIN (
 SELECT
    id,
    REGEXP_EXTRACT(content, r'(?:^|[^a-zA-Z0=9])(5[HJK][123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]{48,49})(?:$|[^a-zA-Z0-9])') AS pkey
 FROM
    `bigquery-public-data:github_repos.contents`
 WHERE
    REGEXP_MATCH(content, r'(?:^|[^a-zA-Z0=9])(5[HJK][123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]{48,49})(?:$|[^a-zA-Z0-9])') c
ON
  f.id = c.id
)
Query Failed

Error: Encountered " <ID> "c "" at line 15, column 140. Was expecting: <EOF>
Job ID: anton-e4584:US.bquijob_743dcb53_16a8e5ca058

1 Ответ

2 голосов
/ 06 мая 2019

Вам не хватает закрывающих скобок. Я бы также сформулировал это как стандартный SQL:

#standardSQL
SELECT f.repo_name, f.path, c.pkey
FROM `bigquery-public-data.github_repos.files` f JOIN
     (SELECT id,
             REGEXP_EXTRACT(content, r'(?:^|[^a-zA-Z0=9])(5[HJK][123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]{48,49})(?:$|[^a-zA-Z0-9])') AS pkey
      FROM `bigquery-public-data.github_repos.contents`
      WHERE REGEXP_CONTAINS(content, r'(?:^|[^a-zA-Z0=9])(5[HJK][123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]{48,49})(?:$|[^a-zA-Z0-9])')
     ) c
     ON f.id = c.id;
...