Дата последнего доступа к таблицам bigquery - PullRequest
0 голосов
/ 04 ноября 2019

Есть ли способ получить дату последнего доступа к таблицам в BigQuery? Я нашел тот же вопрос Получить дату последнего доступа для всех таблиц BigQuery в проекте BigQuery

, но не смог опубликовать комментарий или ответить, поэтому я спрашиваю снова.

Где взять этот стол? -> ОТ fh-bigquery.audit.cloudaudit_googleapis_com_data_access_201811*

Мой идентификатор проекта bQ - «test-247020», а мой набор данных называется BabyName.

Как мне это сделать?

Большое спасибо за вашу помощь.


обновление используемого мной запроса:

 WITH tables AS (
  SELECT FORMAT("%s.%s.%s", table.projectId, table.datasetId, table.tableId) table
    , MAX(timestamp) last_access
  FROM (
    SELECT timestamp
      , protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent.job.jobStatistics.referencedTables  
    FROM `test-247020.BabyName.cloudaudit_googleapis_com_data_access`
  ), UNNEST(referencedTables) table
  GROUP BY 1
)

SELECT * 
FROM tables

Ответы [ 2 ]

0 голосов
/ 12 ноября 2019

Google Cloud Platform предлагает различные способы получения информации о заданиях и наборах данных / таблицах BigQuery.

1 - веб-интерфейс BigQuery:

На левой боковой панели BigQueryВ веб-интерфейсе можно найти «Историю запросов», в которой отображаются подробности выполнения, относящиеся к запросам, проверенным для разных наборов данных. Последний будет отображаться сверху, если задания отсортированы по дате. Кроме того, вкладка «История проекта» расширяет предыдущую информацию на весь проект. Таким образом, можно увидеть запросы, выполняемые определенными пользователями.

2 - ведение журнала Stackdriver:

ведение журнала Stackdriver очень полезно при проверке журналов из разных GoogleПродукты облачной платформы. С помощью следующего расширенного фильтра можно получить выходные данные , соответствующие запросам, выполненным в BigQuery :

resource.type="bigquery_project"
protoPayload.methodName="google.cloud.bigquery.v2.JobService.InsertJob"

, выбрав «Последний час» и «Перейтив настоящее время », последние доступные данные появятся в нижней части панели журналов.

Также возможно экспортировать конкретную конфигурацию ведения журнала Stackdriver для данного набора данных в BigQuery. Это создаст новую таблицу, содержащую информацию журнала запросов, выполненных к выбранному набору данных. Каждый раз, когда такой экспорт обновляется, новые журналы загружаются в таблицу журналов.

3 - Cloud Shell:

Другой способ получить информацию о последней доступной таблице - использовать bq команда в Cloud Shell . Следующий скрипт bash извлечет все данные, относящиеся к последнему запросу, в формате JSON.

#!/bin/bash

# Get the jobID of the last executed query
LAST_JOB_ID=$(bq ls -j -a | grep query | head -1 | awk '{print $1}')

echo Query $LAST_JOB_ID job info
# retrieving the job_ID info in json format
bq show --format=prettyjson -j $LAST_JOB_ID

Соответствующее имя набора данных, projectID и имя таблицы можно найти в поле «referencedTables»:

"referencedTables": [
        {
          "datasetId": "DATASET”,
          "projectId": "PROJECTID",
          "tableId": "TABLE"
        }
      ]
0 голосов
/ 04 ноября 2019

Вам нужно сначала экспортировать журналы из журнала в BigQuery .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...