预配 Looker (Google Cloud Core) 实例后,该实例会列在项目的**实例** 页面上。 Google Cloud 点击实例网址,即可访问该实例并进行身份验证。
登录 Looker (Google Cloud Core) 实例后,您可以设置数据库连接到您的 Looker (Google Cloud Core) 实例。
设置数据库连接
Looker (Google Cloud Core) 必须连接到数据库才能进行数据探索。如需了解 Looker (Google Cloud Core) 支持哪些方言,请参阅支持的方言列表。
如果您拥有以下任一权限,则可以在 Looker (Google Cloud Core) 实例中创建数据库连接:
您可以按照 Looker (Google Cloud Core) 实例中动态显示的 设置 Looker 指南连接数据库,也可以按照 特定于方言的文档页面中列出的步骤进行操作。这些设置中的大多数设置对于大多数数据库方言都是通用的。如需了解 Looker 连接设置窗口中的常见字段,请参阅将 Looker 连接到您的数据库文档页面。
如果您想使用以下任一选项设置 Looker (Google Cloud Core) 连接,则需要执行额外的步骤:
专用连接:如果您的 Looker (Google Cloud Core) 实例使用专用连接,则必须配置Private Service Connect或专用服务访问通道(具体取决于实例使用的连接类型),才能将其连接到以下任何类型的数据库:
- 不同网络中的数据库 Google Cloud
- 由其他云服务商托管的数据库
- 本地数据库
如需设置与由其他云服务提供商托管的数据库的专用连接,请确保您的 Google Cloud 项目已配置为将流量路由到这些云服务提供商,以允许数据交换。如需详细了解如何连接云环境,请参阅其他云服务提供商与 Google Cloud 的连接模式 Google Cloud文档页面。
使用应用默认凭据向 BigQuery 和 Cloud SQL 数据库进行身份验证:Looker (Google Cloud Core) 实例可以使用应用默认凭证 (ADC)向数据库进行身份验证,如以下部分所述:
- 使用应用默认凭证连接到 BigQuery 数据库
- 在不同 Google Cloud 项目中使用应用默认凭证连接到 BigQuery 数据库
- 使用应用默认凭证连接到 Cloud SQL 数据库
使用 OAuth 向 BigQuery 数据库进行身份验证:对于 BigQuery 连接,Looker (Google Cloud Core) 可以使用 Looker 管理员创建 Looker (Google Cloud Core) 实例时使用的 OAuth 应用凭据。如需了解详情,请参阅本页面的使用 OAuth 配置 BigQuery 身份验证部分。
使用应用默认凭证连接到 BigQuery 数据库
在设置与 BigQuery 标准 SQL 数据库的连接时,Looker (Google Cloud Core) 实例可以使用 应用默认凭证 (ADC) 进行身份验证。使用 ADC 时,连接将使用 Looker (Google Cloud Core) 项目的服务账号的凭据向数据库进行身份验证。
如需将 ADC 与 BigQuery 数据库搭配使用,请在 Looker 实例的连接设置 页面的身份验证 字段中选择应用默认凭据 。如需了解完整过程,请参阅将 Looker 连接到 BigQuery 数据库的文档。
如果您的 Looker (Google Cloud Core) 实例将 永久派生表 与 BigQuery 数据集搭配使用,您还必须向 Looker 服务账号 授予 BigQuery Data Editor Identity and Access Management (IAM) 角色。
如果您要连接到与 Looker (Google Cloud Core) 实例位于不同项目的 BigQuery 数据库,则需要进行一些额外的设置。请参阅在不同 Google Cloud 项目中使用应用默认凭证连接到 BigQuery 数据库部分。
服务账号模拟
如果您想使用 Looker (Google Cloud Core) 项目的服务账号以外的服务账号向 BigQuery 数据库进行身份验证,则可以在模拟的服务账号 字段中输入其他服务账号或以逗号分隔的服务账号链,以创建委托请求流。Looker (Google Cloud Core) 服务帐号会自动用作链中的第一个服务帐号,无需添加到该字段。链中的最后一个服务帐号(也称为模拟的服务账号 )是向数据库进行身份验证的账号。
使用服务帐号模拟时,请执行以下操作:
- 启用 Service Consumer Management API。
- 确保链中的所有服务账号(包括 Looker (Google Cloud Core) 项目的服务帐号)都具有适当的 IAM 权限。
- 确保模拟的服务帐号具有 BigQuery Job User 角色 和 BigQuery Data Viewer 角色。如果您需要检查服务状态和操作,或使用使用方项目的配额和结算服务,则还需要 Service Usage Consumer 角色。
- 如果您已为连接启用了 永久派生表 (PDT),则还必须在 PDT 替换项 部分的服务账号电子邮件地址 字段中输入模拟的服务帐号的电子邮件地址。这样可确保 PDT 进程使用模拟的服务帐号。如需了解详情,请参阅启用 PDT 替换项部分,具体请参阅将 Looker 连接到您的数据库文档页面。
在不同 Google Cloud 项目中使用应用默认凭证连接到 BigQuery 数据库
对于位于 Looker (Google Cloud Core) 实例所在项目之外的 BigQuery 标准 SQL 数据库,使用 ADC 的步骤与在同一项目中设置连接的步骤相同。不过,在 Looker (Google Cloud Core) 实例中设置连接之前,Looker (Google Cloud Core) 项目的服务帐号必须具有以下 IAM 角色:
- BigQuery Data Viewer 角色,适用于包含 BigQuery 数据集的项目。
- BigQuery Job User 角色和Service Usage Consumer 角色,位于连接设置页面上列出的结算项目上。
- 如果您的 Looker (Google Cloud Core) 实例将 永久派生表 与 BigQuery 数据集搭配使用,则服务帐号还必须具有包含 BigQuery 数据集的项目的 BigQuery Data Editor 角色。
如果 Looker (Google Cloud Core) 服务帐号在包含 BigQuery 数据集的项目中尚无 IAM 角色,请在该项目中授予角色时使用该服务帐号的电子邮件地址。如需查找服务帐号的电子邮件地址,请前往 Google Cloud 控制台中的 IAM 页面,然后选中包含 Google 提供的角色授予 复选框。电子邮件的格式为 service-<project number>@gcp-sa-looker.iam.gserviceaccount.com。使用该电子邮件向服务账号授予适当的角色。
授予适当的角色后,请按照步骤使用 ADC。
现在,您可以将 ADC 与此 BigQuery 标准 SQL 数据库搭配使用。连接设置 页面中指定的服务帐号所关联的项目将用于结算,并且还会充当默认项目。
使用应用默认凭据连接到 Cloud SQL 数据库
Looker (Google Cloud Core) 实例可以使用 ADC 向 Cloud SQL 数据库(Cloud SQL for PostgreSQL 或 Cloud SQL for MySQL)的连接进行身份验证。当您使用 ADC 向 Cloud SQL 数据库进行身份验证时,运行 Cloud SQL 数据库的 Google Cloud 项目就是用于结算 Looker 查询的项目。
对于使用 ADC 的 Looker 与 Cloud SQL 的连接,ADC 会模拟服务帐号或服务账号链来访问您的数据库。创建 Looker 与数据库的连接时,您可以使用 IAM 数据库用户名字段指定 ADC 将模拟的服务帐号或服务账号链。在您创建 Looker (Google Cloud Core) 实例时自动创建的 Looker 服务账号会自动用作链中的第一个服务帐号,无需添加到该字段。
如果您想使用 Looker 服务帐号以外的服务帐号向 Cloud SQL 数据库进行身份验证,则可以在 IAM 数据库用户名 字段中输入其他 服务账号或以逗号分隔的服务账号链,以创建 委托请求流。
链中的最后一个服务帐号(也称为模拟的服务账号 )是向数据库进行身份验证的账号,并且必须将此账号作为用户添加到 Cloud SQL 数据库中。如果您将 Looker 服务帐号用作链中的最后一个服务帐号(将 IAM 数据库用户名 字段留空),则必须将 Looker 服务帐号作为用户添加到 Cloud SQL 数据库中。
以下是将 Cloud SQL for PostgreSQL 或 Cloud SQL for MySQL 数据库连接到 Looker 的一般步骤(使用 ADC):
- 将模拟的服务帐号添加到 Cloud SQL 数据库。
- 在 Cloud SQL 数据库上设置服务帐号模拟。
- 连接到数据库,以针对 Cloud SQL for PostgreSQL 或 Cloud SQL for MySQL 运行其他配置命令。
- 创建 Looker 与数据库的连接。
将模拟的服务帐号添加到 Cloud SQL 数据库
创建 Looker 与数据库的连接时,您可以使用 IAM 数据库用户名 字段指定 ADC 将模拟的服务帐号或服务账号链,以对数据库执行操作。模拟链中的最后一个服务帐号被视为模拟的服务账号 。
如需将 ADC 与 Cloud SQL 搭配使用,您必须将模拟的服务帐号添加到 Cloud SQL 数据库:
- 在默认情况下,如果您将 IAM 数据库用户名 字段留空,ADC 将模拟 Looker 服务帐号。在这种情况下,Looker 服务帐号就是模拟的服务帐号,因此您需要将 Looker 服务帐号添加到 Cloud SQL 数据库。如需了解 Looker 服务帐号,以及查看 Looker 服务帐号电子邮件地址的过程,请参阅创建 Looker (Google Cloud Core) 实例文档页面。
- 如果您指定了 Looker 服务帐号以外的服务帐号,或者在 IAM 数据库用户名 字段中指定了服务账号链,则必须将模拟链中的最后一个服务帐号添加到 Cloud SQL 数据库。
如需将服务帐号添加到 Cloud SQL 数据库,您必须拥有 Cloud SQL Admin IAM 角色。
请按照适用于您的数据库方言的“将 IAM 用户或服务帐号添加到数据库实例”过程,将模拟的服务帐号添加到 Cloud SQL 数据库:
在 Cloud SQL 数据库上设置服务帐号模拟
在数据库上创建 Cloud SQL 用户后,您必须按照以下步骤设置 Cloud SQL 数据库以进行服务模拟:
- 按照过程启用 Cloud SQL Admin API。
- 确保链中的所有服务账号(包括 Looker 服务帐号)都具有适当的 IAM 权限。
按照过程在控制台中授予单个角色 Google Cloud 。向您添加到 Cloud SQL 数据库的模拟的服务帐号授予以下Cloud SQL 角色:
如果您指定了 Looker 服务帐号以外的服务帐号,或者在 IAM 数据库用户名 字段中指定了服务账号链,请向链中的每个服务帐号授予以下权限:
Cloud SQL for MySQL 的其他配置命令
对于 Cloud SQL for MySQL,您必须连接到数据库实例,并在 Cloud SQL for MySQL 数据库上运行以下命令:
GRANT ALL on DATABASE_NAME.* to 'DATABASE_USER'@'%'
替换以下内容:
- DATABASE_NAME:数据库的名称。
- DATABASE_USER:您添加到 Cloud SQL 数据库的模拟的服务账号的截断的服务账号用户名。服务帐号格式为
service-<project number>@gcp-sa-looker.iam.gserviceaccount.com。移除@及后面的所有内容,以截断用户名。截断后,用户名将类似于service-<project number>。
例如,如果服务帐号用户名为 service-12345678901@gcp-sa-looker.iam.gserviceaccount.com,数据库名称为 looker-test,则命令如下所示:
GRANT ALL on looker-test.* to 'service-12345678901'@'%'
Cloud SQL for PostgreSQL 的其他配置命令
对于 Cloud SQL for PostgreSQL,您必须连接到数据库实例,并在 Cloud SQL for PostgreSQL 数据库上运行一些配置命令:
- 按照 PostgreSQL 文档页面的 用户和安全性 部分中的说明,向用户授予数据库的权限。
- 按照 Looker 文档 PostgreSQL 页面的 设置
search_path部分中的说明,设置 Looker SQL Runner 用于从数据库检索元数据的搜索路径。
创建从 Looker (Google Cloud Core) 到 Cloud SQL 数据库的连接
如需创建从 Looker 到数据库的连接,请按以下步骤操作:
- 在 Looker 的管理 部分中,选择连接 ,然后点击添加连接 。
- 从方言 下拉菜单中,选择 Google Cloud PostgreSQL ;对于 Cloud SQL for MySQL,请选择 Google Cloud SQL 。
- 在身份验证 部分中,点击应用默认凭证 选项。
在 IAM 数据库用户名 字段中,指定您希望 ADC 模拟 的服务帐号或服务账号链,以对数据库执行操作:
- 如果您希望 Looker 使用 Looker (Google Cloud Core) 项目的服务账号向 Cloud SQL 数据库进行身份验证,请将此字段留空。
- 如果您希望 Looker 使用 Looker (Google Cloud Core) 项目的服务账号以外的服务账号向 Cloud SQL 数据库进行身份验证,则可以输入其他服务账号或以逗号分隔的服务账号链,以创建委托请求流。
填写其余连接详细信息。这些设置中的大多数设置对于大多数数据库方言都是通用的。如需了解详情,请参阅将 Looker 连接到您的数据库文档页面。
如需验证连接是否成功,请点击测试 。如需了解问题排查信息,请参阅测试数据库连接文档页面。
如需保存这些设置,请点击连接 。
设置数据库连接后,您就可以设置 LookML 项目了。
使用 OAuth 配置 BigQuery 身份验证
如需为 Looker (Google Cloud Core) 实例上与 BigQuery 数据库的连接配置 OAuth 身份验证,请按以下步骤操作:
- 在身份验证 下,选择 OAuth 。Looker (Google Cloud Core) 默认使用 Looker 管理员在他们 创建 Looker (Google Cloud Core) 实例时使用的 OAuth 应用凭据。您无需手动创建或输入客户端 ID 和密钥。
- 将其他重定向 URI 添加到实例的 OAuth 客户端中的已获授权的重定向 URI 字段(或使用凭据创建新的 OAuth 客户端并添加重定向 URI)。重定向 URI 必须使用 Looker 实例的网址,后跟
/external_oauth/redirect。如需了解背景信息,请参阅为 BigQuery 生成 OAuth 凭据文档。
如果您想为此连接手动输入不同的 OAuth 凭据,请启用手动配置 OAuth 凭据 切换开关,然后填写 OAuth 客户端 ID 和 OAuth 客户端密钥 字段。如果您手动输入 OAuth 凭据,则不会更改或更新创建 Looker (Google Cloud Core) 实例时使用的凭据。请按照使用 OAuth 配置 BigQuery 数据库项目文档中的步骤创建和使用不同的凭据。
Looker (Google Cloud Core) 支持的方言
下表显示了 Looker (Google Cloud Core) 对数据库方言的支持情况:
| 方言 | 是否支持? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13.x - 0.17.x | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |
数据库配置说明
以下 SQL 方言提供了说明:
后续步骤
- 配置 Looker (Google Cloud Core) 实例
- 在 Looker (Google Cloud Core) 中管理用户
- 通过 Google Cloud 控制台管理 Looker (Google Cloud Core) 实例
- Looker (Google Cloud Core) 管理员设置
- 在 Looker (Google Cloud Core) 实例上使用 LookML 示例项目