适用于 Mac 的 Google BigQuery 客户端
对项目数据集编写 GoogleSQL,运行前查看扫描量,并限制作业计费。可在网格编辑行,将表卸载到 Cloud Storage 而不经 Mac。
适用于 Mac首次选择 Google BigQuery 时下载驱动
概览
- 查询语言
- SQL
- 驱动
- 首次使用时下载
- 连接方式
- 服务 API
- iPhone 和 iPad
- 无法打开
登录 Google Cloud
选择 Auth Method 并填写 Project ID,需用 ID 而非项目名称或编号。Application Default Credentials 读取 gcloud auth application-default login 写入的文件,已配置 gcloud 时最方便。Service Account Key 接受 .json 密钥文件或粘贴 JSON。
Google Account (OAuth) 使用在 Google Cloud Console 创建的桌面 OAuth 客户端通过浏览器登录。刷新令牌保存在钥匙串,每个客户端一个,后续连接无需浏览器。一个 OAuth 客户端登录一个 Google 账户,第二个账户需第二个客户端或自有刷新令牌。
全部通过 BigQuery REST API,无主机、端口、连接 URL 或 SSH 隧道。Location 设置每个作业发送的处理位置。详见云账户登录。
查询和成本控制
运行前在 Explain 菜单选择 Dry Run (Cost),结果列出预计处理和计费字节数、缓存命中标志和美元估计成本,查询本身不执行。
运行后状态栏显示处理字节数、计费字节数和按需费率估算,并标记缓存命中。需硬上限时,在连接 Advanced 标签页设置 Max Bytes Billed,BigQuery 会拒绝超出计费的作业而不执行。
补全、引用和格式化遵循 GoogleSQL,表名用反引号,STRUCT、ARRAY 列显示为 JSON。数据集代替数据库,列在侧栏,⌘K 切换,每个标签页保持初始数据集。作业轮询至查询超时后取消,No limit 时等待完成。
单元格、插入和删除通过网格操作。UPDATE、DELETE 按声明主键匹配,无主键则匹配除 ARRAY、JSON、GEOGRAPHY 外所有列,因此相同行会一起修改。声明 PRIMARY KEY (…) NOT ENFORCED 可精确编辑一行。分区表请在编辑器写含分区筛选的 UPDATE、DELETE。
数据集和 DDL
DDL 从编辑器运行,例如 CREATE SCHEMA、ALTER TABLE … ADD COLUMN、DROP COLUMN、CREATE OR REPLACE VIEW。New Database… 使用 CREATE SCHEMA 创建数据集,表可从侧栏重命名。DDL 标签页从 INFORMATION_SCHEMA.TABLES 读取定义,聚簇和分区显示在 Indexes。
移动数据
TablePro 不提供 BigQuery 导入。可将表或查询结果以 CSV、JSON、SQL、XLSX、Markdown、HTML和XML 导出到 Mac。
Server-Side Export 用 EXPORT DATA 将表卸载到 gs:// 前缀,以 CSV、Parquet 或换行分隔 JSON 分片存储。使用你的连接和权限运行,面板等待完成,不在 Mac 写入文件。
iPhone 和 iPad
iPhone 和 iPad 应用没有 Google BigQuery 驱动。从 Mac 同步的 Google BigQuery 连接会显示在列表中,但无法打开。
限制
- Structure 选项卡只读。请在编辑器中运行 DDL。
- 不支持事务。
关于 Google BigQuery 的问题
BigQuery 连接需要哪些 IAM 角色?
运行查询需 roles/bigquery.user,读取需 roles/bigquery.dataViewer,修改需 roles/bigquery.dataEditor。
为什么要筛选而非翻到表的深处?
每个靠后的页面都会从表开头重新扫描。请用筛选或 WHERE 子句缩小行范围,而非深入翻页。
获取 TablePro
需要 macOS 13 Ventura 或更新版本