Как узнать, какая из моих таблиц подпадает под длительное хранение в bigQuery? - PullRequest
0 голосов
/ 31 октября 2019

В настоящее время у меня есть несколько наборов данных в проекте, и я хотел бы знать, есть ли способ узнать за один раз, какие таблицы не обновлялись за последние 90 дней, что означает, что они попадают в область длительного хранения вBigQuery. Есть ли какой-нибудь синтаксис sql для этого?

Спасибо

1 Ответ

0 голосов
/ 31 октября 2019

Не SQL, но возможное решение - использовать инструмент bq. Описание таблицы вернет количество байтов долгосрочного хранения (numLongTermBytes):

$ bq show --format=prettyjson dataset.table
...
  "kind": "bigquery#table", 
  "lastModifiedTime": "1534845362446", 
  "location": "US", 
  "numBytes": "56", 
  "numLongTermBytes": "56", 
  "numRows": "3", 
... 

Таким образом, вы можете расширить его, чтобы перечислить все таблицы в каждом наборе данных и получить необходимую информацию от каждого. Основываясь на this , я сделал быстрый пример:

#!/bin/bash

project=PROJECT_ID
dataset=DATASET_NAME
max_results=100

# get list of tables
tables=$(bq ls --max_results $max_results "$project:$dataset" | awk '{print $1}' | tail -n +3)

# get LTS bytes for each table
for table in $tables
do
    printf '%-35s %-50s\n' "$table" "$(bq show --format prettyjson $project:$dataset.$table | grep numLongTermBytes)"
done

, и вы получите вывод, похожий на:

Dfp                                   "numLongTermBytes": "0",                        
SO_55506947                           "numLongTermBytes": "144",                      
SO_55506947_bis                       "numLongTermBytes": "144",                      
a                                     "numLongTermBytes": "7",                        
a1                                    "numLongTermBytes": "399",                      
aaa                                   "numLongTermBytes": "8",                        
adaptive                              "numLongTermBytes": "1085",                     
adaptive_view                         "numLongTermBytes": "0",                        
audience_segment_map_exp_test         "numLongTermBytes": "300",                      
b                                     "numLongTermBytes": "7", 
... 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...