# 创建和管理数据管道项目

您可以创建数据管道，以使用数据任务在项目中执行所有数据集成。入职将数据从内部部署或云中的数据源移动到项目中，并将数据存储在随时可用的数据集中。您可以将数据导入数据仓库或Qlik Open Lakehouse。

当您将数据导入数据仓库时，您还可以执行转换并创建数据集市，以利用生成和转换的数据集。数据管道可以是简单的线性管道，也可以是一个复杂的管道，它消耗多个数据源并生成多个输出。

所有数据任务都将在与其所属的项目相同的空间中创建。

您还可以查看世系以跟踪数据和向后到原始源的数据转换，并执行影响分析，显示数据任务、数据集或字段依赖项的前瞻性下游视图。有关更多信息，请参阅[在 数据集成 中使用世系和影响分析](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Catalog/work-with-lineage-impact-analysis-di.htm)。

信息注释若要创建管道项目，您必须拥有具有 管道项目 权限的自定义角色，或者必须在默认权限中启用该权限。有关更多信息，请参阅[默认权限和自定义角色](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/permissions-scopes-capacity-model.htm)。

## 将数据引入数据仓库

这包括将数据登录到临时区域，然后将数据集存储在云数据仓库中。登陆和存储数据任务是在一个步骤中创建的。如果需要，您还可以使用单独的任务执行登陆和存储。

## 引入数据至 Qlik Open Lakehouse

创建一个Qlik Open Lakehouse管道项目，用于将数据从任何受支持的源复制到 Iceberg 开放表格式。通过使用[镜像数据任务](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/mirroring-data.htm)，无需复制数据，即可从您的云数据仓库分析引擎访问和查询表。

## 注册数据平台上已存在的数据

注册数据平台上已经存在的数据，以整理和转换数据，并创建数据集市。这使您可以使用除 Qlik Talend Data Integration 以外的其他工具提供的数据，例如 Qlik Replicate 或 Stitch。

## 转换数据

基于规则和自定义 SQL 在已引入的数据上创建可重复使用的行级转换。这将创建“变换”数据任务。

## Creating and managing data marts

创建数据集市以利用您的数据集。这将创建数据集市数据任务。

## 创建知识集市

创建知识集市，将结构化和非结构化数据嵌入并存储到矢量数据库中。这将创建知识集市数据任务。

## 目标数据平台

项目与用作所有输出目标的数据平台相关联。

有关支持的数据平台的更多信息，请参阅[建立与目标的连接](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/data-project-connections.htm#top)。

## 项目视频介绍

[查看视频短片](https://play.vidyard.com/Jic6HXzDv5ZTWE9NgLoLWU)

## 创建项目的示例

下面的示例执行入职数据、转换数据和创建数据集市。这将创建一个简单的线性数据管道，您可以通过加入更多的数据源来扩展该管道，创建更多的转换，并将生成的数据任务添加到数据集市。

项目中的线性数据管道示例

项目中的线性数据管道示例

项目中的线性数据管道示例 ![数据管道流程图](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/dr_HDDDataPipeline.svg)

1. 创建新的项目。

   在数据集成 &gt; 流水线项目中，单击新建 &gt; 项目。

   1. 输入项目的名称和描述。

      信息注释如果稍后为项目启用版本控制，则在项目处于版本控制下时将无法更改项目名称。

   2. 选择一个空间来创建项目。所有数据任务都将在其所属的项目的空间中创建。

   3. 在用例中选择数据管道。

   4. 选择要在项目中使用的数据平台。

   5. 选择要在项目中使用的到云数据仓库的连接。这将用于登陆数据文件并存储数据集和视图。如果尚未准备连接，请使用新建创建一个数据连接。

      * 如果您选择了 Google BigQuery、Databricks 或 Microsoft Azure Synapse Analytics 作为数据平台，您还需要连接到临时区域。

      * 如果您选择 Snowflake 作为数据平台，您可以选择将数据登陆到云存储。请参见 [将数据登陆到 Lakehouse](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/Lake-landing.htm)。

      * 如果您选择了 Qlik Cloud 作为数据平台：

        您可以在 Qlik 托管存储中存储数据，也可以在自己的托管 AmazonS3 存储段中存储数据。如果您想使用自己的 AmazonS3 存储段，您需要选择到该存储段的连接。

        在这两种情况下，您还需要选择到 AmazonS3 暂存区域的连接。如果您使用的是在上一步中定义的同一个存储段，请确保使用存储段中的另一个文件夹进行暂存。

   6. 单击创建。

      项目已创建，您可以通过添加数据任务来创建数据管道。

2. 录入数据

   在项目中，单击创建，然后单击录入数据。

   有关更多信息，请参阅[将数据引入数据仓库](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Onboarding/Onboarding-data.htm)。

   这将创建登陆数据任务和存储数据任务。要开始复制数据，您需要：

   * 准备并运行登陆数据任务。

     有关更多信息，请参阅[从数据源登陆数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/Landing-data-data-sources.htm)。

   * 准备并运行存储数据任务。

     有关更多信息，请参阅[存储数据集](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Storage/generating-datasets.htm)。

3. 转换数据

   创建存储数据任务后，返回项目。您现在可以对已创建的数据集执行转换。

   单击存储数据任务上的 ...，然后选择转换数据以基于此存储数据任务创建转换数据任务。有关转换的说明，请参阅[转换数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Transformations.htm)。

4. 创建数据集市

   您可以基于存储数据任务或转换数据任务创建数据集市。

   单击数据任务上的 ...，然后选择创建数据集市以创建数据集市数据任务。有关创建数据集市的说明，请参阅：

   [Creating and managing data marts](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataMarts/DataMarts.htm)

例如，当您第一次满负载存储和转换的数据集和数据集市时，您可以在分析应用程序中使用它们。有关创建分析应用程序的更多信息，请参阅[使用数据集成中生成的数据集创建分析应用程序](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Analytics/Developing-app-with-datasets.htm)。

您还可以通过加入更多数据源来扩展数据管道，并在转换或数据集市中组合它们。

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Data-projects.htm)

## 构建跨项目管道

您可以构建跨项目管道，其中一个任务可以使用另一个项目中的任务。这使您可以通过多种可能的方式实现细分：

* 您可以为每个组织单位创建单独的数据移动管道，并在单个数据集市管道中使用输出。

* 您可以创建单个数据移动管道，并在多个转换管道中使用输出。

警告注释在任何情况下都不应在数据管道项目中创建循环任务依赖关系。循环任务依赖关系严重影响稳定性、性能及可维护性。

转换和数据集市任务可能会消耗位于另一个项目中的存储和转换任务。

* 您必须在已消费项目的空间中至少具有可以使用角色。

* 这两个项目必须位于同一数据平台上。

任务的所有数据集都与下游项目共享。这意味着，如果您想实现数据集隔离，则必须通过创建转换任务来筛选掉所使用项目中的数据集。

在项目视图中，您可以查看由另一个项目使用的任务，以及当前项目中使用的其他项目的任务。当前项目之外的所有任务都是灰色。依赖项是按引用而不是名称命名的，这意味着您可以在不破坏引用的情况下重命名任务。这也意味着，如果删除已使用的任务并创建同名的新任务，则引用仍将中断。

有几种方法可以重新使用现有数据：

* 创建新项目

  创建项目后选择选项使用其他项目的数据。

  您可以创建转换或数据集市，使用来自另一个管道的引入数据。

* 在转换任务或数据集市任务中，您可以在选择源数据中从另一个项目中选择数据。

  选择源数据时，选择项目。如果所选项目受版本控制，请选择一个分支。默认分支为 main。数据任务列表会更新以反映所选分支。然后选择一个数据任务以查看哪些数据集可用。

您可以选择是否要显示其他项目中的任务，这些任务会占用此项目中的一个任务。

* 单击图层，然后打开或关闭跨项目输出。

当前项目之外的所有任务都是灰色。

### 版本控制限制

由于跨项目管道在多个项目之间拆分，这增加了使用版本控制时的复杂性。在这些示例中，Project1 被 Project2 使用。

跨项目管道示例

跨项目管道示例

跨项目管道示例 ![](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/qdi_cross_project.png)

* Project2 可以使用 Project1 的特定分支。在转换或数据集市任务的选择源数据中选择分支。默认分支为 main。如果被引用的项目未纳入版本控制，则不显示分支选择器，并且 Project2 会按原样使用该项目。

* 您可以为 Project1 创建分支，但分支版本不会显示它已被 Project2 使用。

* 您可以将 Project2合并到 main 中，但依赖项仍然存在。

信息注释

如果在 Project1 中选择的分支随后被删除，引用断开的方式与被引用的任务被删除时相同。如果被引用的任务在所选分支上具有不同的输出，则该引用的行为方式与被引用任务的输出发生更改时相同。

### 最佳实践

* 检查已使用项目中的任务是否至少已准备就绪，以确保它们是有效的。

* 如果您计划在租户之间导出和导入项目，并且您在租户中为空间和项目保留相同的名称，则会更容易。如果名称不同，则在导入项目时需要映射项目和任务。

* 如果要使用导出和导入更改数据平台，则所有具有依赖关系的项目都必须位于同一平台上。

  按照以下步骤安全轻松地更换平台。在本例中，被消费的项目称为 Consumed，从 Consumed 读取的项目称为 Consumer。

  1. 导出 Consumed 和 Consumer。

  2. 将 Consumed 导入 Consumed\_New，更改为新的数据平台。

  3. 将 Consumer 导入Consumer\_New，改为与 Consumed\_New 相同的数据平台，并用 Consumed\_New 替换投影源项目（Consumed）。

## 数据管道项目中的操作

您可以执行与项目操作相同的可用于数据任务的操作。这允许您对数据管道中的操作进行协调。

信息注释每个项目一次只能执行一个项目操作。

* 打开和关闭计划

* 执行设计操作

* 开始和停止执行数据任务

* 删除数据任务

单击操作以查看正在进行的操作或最近执行的操作的状态。

单击停止操作可以停止正在进行的操作。正在进行的数据任务不会停止，但会取消任何尚未开始的任务。

### 打开和关闭计划

您可以在项目级别控制数据任务的计划。

* 单击 ...，然后单击计划。

  您可以打开或关闭所有数据任务或所选任务的计划。仅显示已定义计划的任务。

  信息注释此选项不可用于以 Qlik Cloud 作为数据平台的项目。

有关计划单个数据任务的详细信息，请参阅：

* [安排重新加载和比较登陆数据任务](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/Landing-data-data-sources.htm#Scheduli)

* [计划存储任务](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Storage/generating-datasets.htm#Scheduli)

* [计划转换任务](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Transformations.htm#Scheduli)

* [Scheduling a data mart task](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataMarts/DataMarts.htm#Scheduli)

### 执行设计操作

可以对项目中的所有数据任务或所选任务执行设计操作。这让控制项目中的数据集任务变得更容易，而不是在每个任务中单独执行设计操作。

* 验证

  单击验证以验证所有任务或所选任务。将预先选择自上次验证操作以来更改的数据任务。

  将按管道顺序验证数据任务。

* 准备

  单击准备以准备所有任务或所选任务。将预先选择自上次准备操作以来更改的数据任务。

  您可以选择重新创建需要数据平台不支持的结构更改的数据集。这会导致数据丢失。

* 重新创建

  单击 ... 然后单击重新创建表格以从所有任务或所选任务的源重新创建数据集。

  信息注释如果个别表存在问题，建议首先尝试重新加载表，而不是重新创建它们。重新创建表可能会导致历史数据丢失。如果存在中断更改，还必须准备使用重新创建的数据任务的下游数据任务，以重新加载数据。

### 运行数据任务

您可以启动项目中所有数据任务的执行，也可以启动所选任务的执行而不是单独运行任务。例如，您可以使用基于时间的计划运行所有任务。这将使用基于事件的计划启动下游任务。

* 运行

  单击运行以启动所有任务或所选任务的执行。这将启动所有所选任务的运行，并在它们开始执行时立即完成。

  您可以从所有准备好运行的任务中进行选择。会预先选择具有基于时间的计划的任务和使用 CDC 的任务。不会预先选择具有基于事件的计划的任务，因为将在有要处理的数据时执行它们。

  在以 Qlik Cloud 作为数据平台的项目中，会预先选择所有登陆和存储任务。

  信息注释所有数据任务都是并行执行的。这意味着依赖关系检查可能会阻止某些任务运行。

* 停止

  单击停止以停止所有任务或所选任务。

  您可以从正在运行的任务中进行选择。

### 删除数据任务

* 单击“删除”可删除项目中的所有数据任务或所选任务。

无法删除正在运行的任务或被其他任务使用的任务。

## 更改项目的视图

项目有两种不同的视图。您可以通过单击管道视图在视图之间切换。

* 管道视图显示数据任务的数据流。

  通过单击层，可以选择为数据任务显示的信息量。打开或关闭以下信息：

  * 状态

  * 数据新鲜度

  * 计划

  * 跨项目产出

    这将显示使用此项目中任务的其他项目中的任务。当前项目之外的所有任务都是灰色。

* 卡片视图显示卡片视图，其中包含有关数据任务的信息。

  您可以筛选资产类型和所有者。

## 删除项目

* 在管道项目视图中，单击项目上的the 删除 icon并选择。

选择 保留此项目中的任务创建的表和视图 以保留在删除项目后通常会被删除的表和视图。请注意，对于以下任务类型，即使未选择此选项，也将始终保留表和视图：

* 登陆任务

* 湖泊登陆任务

* 复制任务

信息注释请记住，您保留的工件将不再由该任务更新。

## 查看数据

在设计数据管道时，您可以查看数据示例以查看和验证数据的形状。

需要以下权限：

* 在 Administration 中的租户级别上启用了查看数据的功能。

  启用设置&gt;特性控制 &gt; 在 数据集成 中查看数据。

* 您将在连接所在的空间中分配可以查看数据角色。

* 您将在项目所在的空间中分配可以查看角色。

要在数据管道视图中查看示例数据，请执行以下操作：

1. 单击管道视图底部预览横幅中的 the 向上 icon。

2. 选择要为其预览数据的数据任务。

将显示数据示例。可以使用行数设置要包含在示例中的数据行数。

## 导出和导入项目

您可以将项目导出为 JSON 文件，该文件包含重建数据项目所需的所有内容。导出的 JSON 文件可以在同一租户或另一租户上导入。例如，您可以使用此特性将项目从一个租户移动到另一个租户，或制作项目的备份副本。

有关更多信息，请参阅[导出和导入数据管道](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Data-project-export-import.htm)。

## 更改项目所有者

数据任务在其所属项目的所有者的上下文中运行。您可以更改项目的所有者，将数据项目中所有任务的控制权转移给其他用户。例如，如果某个用户拥有的项目已被删除，这就很有用。

信息注释更改项目投影的所有者需要租户管理员或数据管理员角色。有关所需角色和权限的更多信息，请参阅[数据空间角色和权限](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataSpaces/permissions-data-space.htm)。

* 在项目视图中，单击...，然后单击更改所有者。

所有权变更将适用于项目中的所有任务。项目中由任务创建的所有编目数据集也将更改所有者。

## 更改数据平台连接

如果要更改项目的数据平台连接，则必须：

1. 在全部登陆任务中重新创建表格。

2. 准备项目中的所有其他任务。

## 查看项目信息

点击菜单条形上的 the 信息 icon 以查看项目信息，例如：

* 所有者

* 空间

* 数据平台

* 项目 Id

## 项目设置

您可以设置项目和所有包含的数据任务的公用属性。

* 单击设置。

有关更多信息，请参阅[数据管道项目设置](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Data-project-settings.htm)。

相关学习内容：

* [使用 Qlik Cloud 数据集成来载入和转换数据](https://help.qlik.com/lnk/Qlik_cloud_data_integration_onboard_transform)

## 了解详情

* [使用 Qlik Cloud 数据集成来载入和转换数据](https://help.qlik.com/lnk/Qlik_cloud_data_integration_onboard_transform)