如何将基于Google表格的BigQuery数据库连接到Looker?

时间:2016-08-10 16:52:50

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

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

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

  

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

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

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

1 个答案:

答案 0 :(得分:1)

我一直想做一些这样的事情,看到这个问题,然后决定深入研究。

我发现的第一件事就是这个"文档"在观察话语中:

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

在那里,它描述了实现这一目标所需的步骤。

根据您对目前事件的描述,您可能遗漏了两件重要的事情(因为听起来您已经将工作表附加到数据集并且能够从BigQuery UI中查询它):< / p>

  1. 确保您使用用于将Looker连接到BigQuery的服务帐户共享Google表格。这是Looker中Username页面的Connections标签中的Admin

  2. 确保您已为Google项目启用了Drive and Sheets API。您可以通过The API Library完成此操作。只需搜索&#34; Drive&#34; (或&#34;表格&#34;),点击名称,然后点击&#34;启用&#34; API详细信息页面中的按钮。

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

    希望有所帮助。