是否有一种方法使用bq ls来查找每个具有特定REGEX(例如LIKE %backup%)的数据集的所有表?
bq ls
REGEX
LIKE %backup%
soat7uwm1#
您可以使用@Bihag的建议。但是,似乎需要额外的工作才能得到你想要的结果。比如说
gcloud asset list \ --format=json \ --project=your-project \ --asset-types=bigquery.googleapis.com/Table \ | jq ".[].name" | grep "backup"
您可以考虑的另一种方法是使用INFORMATION_SCHEMA.TABLES视图。如果在BigQuery控制台中运行下面的查询,将使用LIKE操作获得过滤后的结果。
INFORMATION_SCHEMA.TABLES
LIKE
-- filter_table.sql SELECT table_catalog AS project, table_schema AS dataset, table_name AS table FROM `{your-project}.region-{region}.INFORMATION_SCHEMA.TABLES` WHERE table_name LIKE '%backup%';
您也可以在CLI中使用bq query命令运行上述查询。
bq query
$bq query --use_legacy_sql=false < filter_table.sql
r8uurelv2#
你可以使用google cloud asset API来获得想要的输出。见下文,这基本上接受在项目层面,组织层面太。参见文档here下面将给予所有数据集:
gcloud asset list --project='yourprojectid' --asset-types='bigquery.googleapis.com/Dataset'
下面的命令将给予给定项目下所有数据集下的所有表
gcloud asset list --project='yourprojectid' --asset-types='bigquery.googleapis.com/Table'
希望这对你有帮助。
2条答案
按热度按时间soat7uwm1#
您可以使用@Bihag的建议。但是,似乎需要额外的工作才能得到你想要的结果。
比如说
您可以考虑的另一种方法是使用
INFORMATION_SCHEMA.TABLES
视图。如果在BigQuery控制台中运行下面的查询,将使用LIKE
操作获得过滤后的结果。您也可以在CLI中使用
bq query
命令运行上述查询。r8uurelv2#
你可以使用google cloud asset API来获得想要的输出。
见下文,这基本上接受在项目层面,组织层面太。参见文档here
下面将给予所有数据集:
下面的命令将给予给定项目下所有数据集下的所有表
希望这对你有帮助。