项目是一组 LookML 文件,描述数据库表之间的相互关系,以及 Looker 应如何解读这些表。您可以参阅 LookML 项目和开发模型以及 LookML 术语和概念文档页面,详细了解各个项目。如需了解如何访问和修改现有项目,请参阅访问和修改项目信息文档页面。
LookML 项目可以包含多个模型文件。不过,如果您希望为用户查看和修改特定模型文件的 LookML 的权限,则可能需要创建新项目。虽然 Looker 中的大多数权限都适用于模型级别,但有一些权限适用于项目级别,包括 see_lookml
(用于查看项目的 LookML)和 develop
(可让您修改 LookML)。如果您想允许用户访问某个模型,但不想让用户访问另一个模型,那么最好创建一个包含您不想让他们访问的模型的单独项目。
创建项目
如需创建项目,请执行以下步骤:
从导航面板的开发部分中选择项目。
在 LookML 项目页面上,选择 New LookML 项目,以便为你的项目选择选项。
此操作将打开新建项目页面,您可以在其中指定项目的设置,包括项目名称和起点。Looker 可以通过多种方式创建项目,具体步骤取决于您在新建项目页面上选择的起点选项。下面几部分将介绍这些起点的工作原理:
根据您的数据库自动生成模型
如果您选择从数据库架构生成模型作为起点,LookML 生成器会自动根据数据库中的表创建模型和查看项目文件。如需了解详情,请参阅生成模型文档页面。
使用此选项时,Looker 会请求连接名称,以便它可以根据您的数据库自动生成 LookML。不过,您稍后仍然可以添加其他连接。
克隆公共 Git 代码库
如果您选择 Clone Public Git Repository(公共 Git 代码库)作为起点,Looker 会将公共 Git 代码库中的文件复制到新的 LookML 项目中。
从公共 Git 代码库克隆的 Looker 项目为只读。不过,您可以将只读项目导入您的另一个 Looker 项目中,然后在其中编辑这些文件。此外,您可以先从克隆的代码库文件着手,然后使用 Looker extends
参数或优化来构建项目。
如需将现有的公共 Git 代码库克隆到 Looker 项目中,请执行以下操作:
- 验证您处于开发模式。
- 从 Develop 菜单中选择 Manage LookML Projects。
从 LookML 项目页面中,选择 New LookML 项目,打开新建项目页面。
在新建项目页面上,指定项目的选项:
- 项目名称:为您的项目命名。
- 起点:选择克隆公共 Git 代码库 (Clone Public Git Repository)。
- Git 代码库网址:输入公共 Git 代码库的网址。请确保网址格式为
git://github.com/example/my-repository.git
。
如果您有https://github.com/llooker/blocks_redshift_admin
等网址,可以将其修改为正确的格式,只需将“https://”替换为“git://”,然后在末尾添加“.git”。您输入的网址应为git://github.com/llooker/blocks_redshift_admin.git
。
选择创建项目。Looker 会将所有公共代码库的文件拉取到新的 LookML 项目中,并在 Looker IDE 中打开该项目。
创建空白项目
如果您选择 Blank Project 作为起点,Looker 会创建一个空项目,以便您从头开始创建 LookML 文件。
如需创建空白项目,请执行以下操作:
- 验证您处于开发模式。
- 从 Develop 菜单中选择 Manage LookML Projects。
从 LookML 项目页面中,选择 New LookML 项目,打开新建项目页面。
在新建项目页面上,指定项目的选项:
- 项目名称:为您的项目命名。
- 起始代码:选择空白项目。
选择创建项目。Looker 会创建项目并在 Looker IDE 中将其打开。
空白项目后,您可以创建模型和查看文件,然后就可以将项目连接到 Git,以便记录文件的更改并管理其版本。
配置模型
使用 LookML 项目页面顶部的配置新模型按钮,以添加现有模型或计划模型的配置。
如果开发者尚未获得 manage_models
权限,请为尚不存在的项目配置模型,如生成模型文档页面所述。如果您为模型配置模型,开发者便可以在生成或创建模型文件后立即运行查询。如需详细了解仅具有配置的项目,请参阅访问和修改项目信息文档页面。
您还可以指定模型可以使用哪些数据库连接,或者指定模型可以使用当前或未来的所有连接。Looker 开发者使用 LookML connection
参数在模型文件中指定模型应使用哪个连接。如果开发者在模型配置中指定了您尚未允许的连接,则针对该模型的任何查询都不会运行。