配置与管理
连接 Google BigQuery
使用 Google Cloud 服务账号连接 BigQuery,并选择需要同步的表。
AskTable 连 BigQuery 不用主机和端口,凭证是一份 Google Cloud 服务账号的 JSON 密钥。把密钥交给 AskTable 之后,BigQuery 的 dataset 会出现在选表页的库列表里。
开始前
| 项目 | 要求 |
|---|---|
| 权限 | 项目负责人或项目管理员 |
| 前置 | 一份服务账号 JSON 密钥,且该账号对要同步的 dataset 有读取权限 |
| 入口 | 左侧主导航 → 「更多」→ 「数据源」→ 右上角「添加数据源」 |
操作步骤
在 Google Cloud 准备服务账号
这一步在 Google Cloud 控制台完成,不在 AskTable 里(以 Google 官方文档为准):
- 在「IAM 与管理 → 服务账号」里新建一个服务账号,名称任意(例如
asktable-readonly)。 - 给服务账号授予两个角色:在要开放的 dataset 上授予
roles/bigquery.dataViewer(读取数据和元数据),在运行查询的项目上授予roles/bigquery.jobUser(提交查询任务)。Job User 不能授予 dataset。若允许读取整个项目的数据,也可以在项目级授予 Data Viewer。授权范围见 Google BigQuery 角色说明。 - 生成并下载 JSON 格式的密钥,AskTable 只认这一种。
如果组织策略禁用了服务账号密钥创建(iam.disableServiceAccountKeyCreation),第 3 步会失败,需要 GCP 管理员放行或改用你们已有的凭证下发方式。
选择 Google BigQuery
在「选择类型」步骤的「大数据」分组里点「Google BigQuery」卡片,进入「配置连接」。
填写名称和密钥
表单只有两项:
- 数据源名称:可以留空,留空时会自动生成。
- Service Account JSON 字段:文本框里预置了一份 JSON 模板,含
type、project_id、private_key、client_email四个键,把它整体替换成真实密钥。
也可以点右下角「上传 JSON 文件」,选本地的 .json 文件,内容会自动填进文本框。
立即添加
点「立即添加」会先测试一次连接,通过后进入「添加数据表」步骤。失败时弹出连接失败对话框,正文是 BigQuery 返回的原始错误。
选表
BigQuery 的 dataset 对应选表页里库(schema)这一层。勾选要同步的表,点「确认选择 (N)」;也可以「跳过」,之后在数据源详情页补选。
关键约束
| 项目 | 值或默认 | 在哪里改 |
|---|---|---|
| Service Account JSON | 新建时必填,为空时提交被拒绝 | 表单本身 |
| 密钥必须包含的键 | project_id、client_email、private_key,缺一个就提交被拒绝 | Google Cloud 生成的密钥文件 |
| 编辑时密钥 | 留空表示不修改,填了才覆盖 | 数据源 → 「设置」→ 「连接配置」→「编辑」 |
| 项目 ID | 表单里没有这一项,不用填 | — |
| 主机 / 端口 | 不需要填写 | — |
| 单数据源可选表数 | 默认 100 张 | 头像菜单 → 「设置」→ 「数据源」→ 单数据源最大表数(云端部署生效) |
单数据源可选表数是默认值,可在管理后台调整。
出问题怎么判断
| 现象 | 判定条件 | 处理 |
|---|---|---|
| 提交被拒,提示密钥不能为空 | 文本框为空,且没有上传文件 | 粘贴密钥全文,或点「上传 JSON 文件」 |
| 提交被拒,提示密钥不是合法 JSON | 粘贴内容被截断,或前后带了说明文字 | 重新复制整个密钥文件的内容,只保留 JSON |
| 提交被拒,提示密钥缺少 project_id、client_email 或 private_key | 用的是 OAuth 客户端密钥或 API Key,不是服务账号密钥 | 回 Google Cloud 生成服务账号密钥 |
| 连接测试提示认证失败 | BigQuery 返回密钥或身份相关错误 | 确认服务账号和密钥仍然有效,必要时换一份有效密钥 |
| 连接测试提示无法提交查询任务 | BigQuery 返回缺少 bigquery.jobs.create 权限 | 在运行查询的项目上授予服务账号 BigQuery Job User;仅有 dataset 的 Data Viewer 不够 |
| 连接测试提示无法读取表 | BigQuery 返回表或数据集访问权限错误 | 在目标 dataset 上授予服务账号 BigQuery Data Viewer |
| 选表页看不到某个 dataset | 该 dataset 不在库列表里 | 在 Google Cloud 给服务账号授予这个 dataset 的读取权限 |
| 昨天能连、今天报认证失败 | 密钥被禁用或已过期 | 生成新密钥,在「连接配置」→「编辑」里替换 |
下一步
- 字段名看不懂、要写业务含义:表与字段备注
- 接完要做日常维护:管理数据源、文件与训练集
- 想再连一个库或一份文件:连接数据源
- 直接开始提问:对话