Google bigquery bigquery备份所有视图定义
我正在使用bigquery,已经创建了几百个视图。其中大部分未使用,应删除。然而,有一个机会,一些被使用,我不能只是盲目地删除所有。因此,我需要以某种方式备份所有视图定义,然后再删除它们 有人知道一个好方法吗?我不想保存数据,只想保存视图定义查询及其名称Google bigquery bigquery备份所有视图定义,google-bigquery,views,backup,Google Bigquery,Views,Backup,我正在使用bigquery,已经创建了几百个视图。其中大部分未使用,应删除。然而,有一个机会,一些被使用,我不能只是盲目地删除所有。因此,我需要以某种方式备份所有视图定义,然后再删除它们 有人知道一个好方法吗?我不想保存数据,只想保存视图定义查询及其名称 谢谢你的阅读 第一部分。 发出bq ls命令。--format标志可用于控制输出。如果您正在列出默认项目以外的项目中的视图,请按以下格式将项目ID添加到数据集:[project\u ID]:[dataset] bq ls --format=pr
谢谢你的阅读 第一部分。 发出
bq ls
命令。--format
标志可用于控制输出。如果您正在列出默认项目以外的项目中的视图,请按以下格式将项目ID添加到数据集:[project\u ID]:[dataset]
bq ls --format=pretty [PROJECT_ID]:[DATASET]
其中:
[PROJECT\u ID]
是您的项目ID。[DATASET]
是数据集的名称
运行命令时,类型字段显示表格
或视图
。例如:
+-------------------------+-------+----------------------+-------------------+
| tableId | Type | Labels | Time Partitioning |
+-------------------------+-------+----------------------+-------------------+
| mytable | TABLE | department:shipping | |
| myview | VIEW | | |
+-------------------------+-------+----------------------+-------------------+
第2部分。
发出bq show
命令。--format
标志可用于控制输出。如果您正在获取有关默认项目以外的项目中的视图的信息,请按以下格式将项目ID添加到数据集:[project\u ID]:[dataset]
。要将视图属性写入文件,请将[PATH\u To\u file]
添加到命令中
bq show --format=prettyjson [PROJECT_ID]:[DATASET].[VIEW] > [PATH_TO_FILE]
其中:
[PROJECT\u ID]
是您的项目ID。[DATASET]
是数据集的名称。[VIEW]
是视图的名称。[PATH\u TO\u FILE]
是本地计算机上输出文件的路径
示例:
输入以下命令以在mydataset中显示有关myview的信息。mydataset位于默认项目中
bq show --format=prettyjson mydataset.myview
输入以下命令以在mydataset
中显示有关myview
的信息。mydataset位于myotherproject中,而不是默认项目中。视图属性被写入本地文件-/tmp/myview.json
bq show --format=prettyjson myotherproject:mydataset.myview > /tmp/myview.json
在构建的基础上,您可以通过使用jq
解析bq
的输出,自动备份所有视图:
#/bin/bash
数据集=$(bq ls--格式=稀疏|尾-n+3)
数据集中的d;做
TABLES=$(bq ls--format=prettyjson“$d”| jq.[]|“\(.id),\(.type)”)
IFS=$'\n'
对于$TABLES中的table;做
[!“$table”==*查看*]&继续(&C)
视图=$(echo“$table”| sed-e's/“//g'| cut-d,-f 1)
query=$(bq show--format=prettyjson“$view”| jq-r'.view.query')
echo-e“$query”>“$view.sql”
完成
完成
您可以尝试使用,这是一个python脚本,我和一些同事一直在使用它定期备份BigQuery视图和表模式。不再可以通过“pip bqup”安装,以及git克隆和尝试安装fails@LucasZamboulis它应该是pip安装bqup
。您到底遇到了什么错误?我的错,需要使用pip安装升级pip——首先升级pip
。