【问题标题】:How do I connect a BigQuery database based on a Google Sheet to Looker?如何将基于 Google Sheet 的 BigQuery 数据库连接到 Looker?
【发布时间】:2016-08-10 16:52:50
【问题描述】:

我正在尝试将 BigQuery 连接到 Looker。我正在将示例数据从 Google 表格文档中提取到 BigQuery 数据集;这部分工作正常,因为我的内部 BigQuery 查询对于这个数据集运行得很好。使用 Looker 论坛中的 this documentation,我尝试创建一个服务帐户密钥以将我的 BigQuery 数据集连接到 Looker。不幸的是,文档有点过时了:Google 现在询问您要将密钥附加到哪个服务帐户(计算引擎默认服务帐户、应用程序引擎默认服务帐户或可以具有多个角色的新服务帐户)。

到目前为止,我已尝试使用为计算引擎默认服务帐户、应用引擎默认服务帐户以及新的项目所有者服务帐户创建的 P12 密钥。当我在 Looker 中创建连接时,管理页面确认连接“可以连接,可以取消查询,可以运行简单的选择查询”(我需要它来做更复杂的事情,但我现在只是想连接) .使用 SQL Runner 测试一个简单的 select 10 查询,我能够查询公共数据集,例如黑客新闻或美国名称。但是,每当我尝试在我的个人样本数据集上运行相同的查询时,都会收到此错误:

检索数据失败 - 作业在执行过程中遇到内部错误,无法成功完成。

BigQuery 项目从中提取的基本 Google 表格的权限设置为可供拥有该链接的同事查看。我还添加了我作为编辑器测试的每个服务帐户(我假设它具有最高权限)。此时,我正在为每个不同的可能角色创建新的服务帐户,以从角色的角度查看这是否是权限问题。到目前为止没有任何效果,因此任何见解都会有所帮助!

更新:我在同一个 BigQuery 数据集中创建了一个新表。新表格是使用 CSV 文件创建的,该文件只是我在 Google 表格中的先前表格的下载。我更新了与 Looker 的连接。当我编写从新表中提取的 select 10 查询时,它运行良好并且运行得非常快。这似乎暗示问题出在 Google Sheets 和 Google BigQuery 之间的权限上。

【问题讨论】:

    标签: permissions google-api database-connection google-bigquery looker


    【解决方案1】:

    我自己一直想做这样的事情,看到这个问题,并决定深入研究。

    我在旁观者话语中发现的第一件事是这个“文档”:

    https://discourse.looker.com/t/live-spreadsheets-in-databases/2698/7

    在那里,它描述了使其工作所需的步骤。

    根据您迄今为止对事件的描述,您可能遗漏了两件重要的事情(因为听起来您已经将工作表附加到数据集并能够从 BigQuery UI 进行查询):

    1. 确保与用于将 Looker 连接到 BigQuery 的服务帐户共享 Google 表格。这是 Looker 中 Admin 页面的 Connections 选项卡中的 Username

    2. 确保您已为您的 google 项目启用 Drive 和 Sheets API。您可以通过The API Library 做到这一点。只需搜索“Drive”(或“Sheets”),单击名称,然后在 API 详细信息页面中单击“启用”按钮。

    完成上述操作后,我必须等待几分钟才能开始工作。我会冒昧地猜测这是因为 Looker 需要在权限重置和工作之前循环它的内部连接池。因此,您可能需要运行一些失败的查询,或者等待连接池结束,然后才能生效。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多