跳到主要内容 跳到补充内容

转换数据

您可以创建可重用和基于规则的数据转换,作为数据管道的一部分。您可以将转换作为数据登录的一部分,或创建可重用的转换数据任务。您可以执行行级转换并创建数据集,这些数据集可以具体化为表,也可以创建为动态执行转换的视图。

信息注释高级转换可通过 Qlik Talend Cloud PremiumQlik Talend Cloud Enterprise 订阅获得。
  • 您可以执行显式数据集转换,或者创建转换多个数据集的全局规则。您还可以过滤数据集以创建行的子集。

  • 您可以添加 SQL 转换。SQL 转换允许您将 SQL SELECT 查询输入到管道中,以定义复杂或简单的转换。

  • 您可以添加具有源、处理器和目标的可视化转换流,以定义复杂或简单的转换。

信息注释数据任务在其所属项目的所有者的上下文中运行。有关所需角色和权限的更多信息,请参阅数据空间角色和权限

转换数据任务包含三个视图:

  • 转换

    此视图显示所有转换,以可视化从源数据集到目标数据集的流程。

  • 数据集

    此视图显示数据集上的所有基本转换,如筛选数据或添加列,以及执行全局转换的规则。

  • 模型

    此视图允许您创建包含数据集之间关系的数据模型。

创建转换数据任务

创建转换数据任务的最简单方法是单击存储数据任务上的 ...,然后选择转换数据

也可以单击项目中的创建,然后选择转换数据。在这种情况下,您需要定义要使用的源数据任务。

  1. 转换中定义源数据和目标。

    您可以执行以下操作之一:

    • 选择源数据集并单击添加到目标将其添加到目标

      您可以对数据集执行基本转换,例如在数据集中筛选数据或添加列。

      有关更多信息,请参阅管理数据集

    • 选择源数据集,然后单击添加 SQL 转换

      SQL 转换允许您将 SQL SELECT 查询输入到管道中,以定义复杂或简单的转换。

      有关更多信息,请参阅添加 SQL 转换

    • 选择源数据集,然后单击添加转换流

      流设计器允许您使用源、处理器和目标创建转换流,以定义复杂或简单的转换。

      有关更多信息,请参阅添加转换流

    提示注释您还可以通过单击选择源数据从其他存储数据任务添加更多数据集。
  2. 添加所需的转换后,可以通过单击验证数据集来验证数据集。如果验证发现错误,请在继续之前修复错误。

    有关更多信息,请参阅验证和调整数据集

  3. 创建数据模型

    单击模型以设置包含的数据集之间的关系。

    有关更多信息,请参阅 创建数据模型

  4. 单击准备以准备数据任务和所有必需的工件。这可能需要一点时间。

    您可以按照屏幕下部准备进度下的进度进行操作。

  5. 当状态显示准备时,您可以运行数据任务。

    单击 ... 然后单击运行

数据任务现在将开始创建数据集来转换数据。

信息注释开始生成数据集时,无法更改包含哪些数据集。

使用转换视图

转换中,显示所有转换以可视化从源数据集到目标数据集的流程。

  • 选择一个转换以查看使用了哪些源数据集,以及创建了哪些目标数据集。

  • 选择一个源以查看使用它的所有转换以及所有生成的目标。

  • 选择一个目标以查看哪些是源数据集,以及哪个转换创建了此目标数据集。

在转换中转换视图

转换中的转换视图

您可以通过单击显示选项更改以下设置:

  • 按转换类型筛选

    仅显示一种或两种转换类型的转换。

  • 筛选器

    显示所有转换或仅显示选定的转换。您必须选择一个转换才能启用此选项。

  • 密度

    选择是使用紧凑布局显示变换,还是使用更多空间显示宽布局。

使用数据集视图

数据集中,您可以查看和编辑转换任务中的所有目标数据集。

如需更多信息,另请参见管理数据集

添加目标数据集

您可以将更多目标数据集添加到转换任务中。

  1. 单击添加数据集

  2. 为数据集提供名称描述(可选)。

  3. 源数据集中的任务中可用的数据集中选择源数据集。

    提示注释您可以选择无源数据集来创建未连接到任何源的空数据集。您可以在设计过程中向数据集添加列,但必须先连接到源数据集,然后才能准备任务。

目标数据集现在已添加。

更改源数据集

您可以更改目标数据集的源数据集。

  1. 之后单击 编辑[源数据集的名称]

  2. 从另一个源数据集中的任务中可用的数据集中选择源数据集。

    提示注释您可以选择无源数据集以断开目标数据集与源的连接。您可以在设计过程中编辑数据集,但必须先连接到源数据集,然后才能准备任务。

添加新的列

您可以向目标数据集添加新列。

  • 单击 + 添加

    提供列名称,并设置表达式来定义列数据。

    有关更多信息,请参阅向数据集添加列

  • 单击添加旁边的 向下,然后选择从源添加列

    从源数据集中选择列。

对列重新排序

您可以更改列的序数位置。

  1. 选择列。

  2. 单击 更多,然后单击重新排序

  3. 使用箭头将列向上或向下移动。

  4. 准备就绪后关闭更改序数

创建转换规则

您可以创建可重用的转换规则来对数据集执行全局转换。

有关创建规则的详细信息,请参阅创建规则以转换数据集

提示注释您可通过选择 显示规则效果来查看规则的效果。已启用显示规则效果时,您无 法更改数据集。

筛选数据集

如果需要,可以筛选数据以创建行的子集。

  • 单击 更多,然后单击筛选

有关筛选的详细信息,请参阅筛选数据集

计划转换任务

您可以将转换任务计划为定期更新。您可以设置基于时间的计划,或将任务设置为在输入数据任务完成运行后运行。

单击数据任务上的 ...,然后选择计划以创建计划。默认计划设置继承自项目中的设置。有关默认设置的详细信息,请参阅转换默认值

始终要将计划设置为打开才能启用计划。

信息注释如果任务中的所有数据集都是非具体化的,那么就没有可运行的内容了,因为转换是用视图动态执行的。您仍然可以为满足计划条件时运行的非具体化转换任务创建计划。该任务将立即完成,这会触发下游任务,例如数据集市。这允许您构建一个基于事件的管道计划,该计划包括非具体化的转换,而不会中断管道流。

基于时间的计划

无论何时更新不同的输入源,都可以使用基于时间的计划来运行任务。

  • 运行数据任务中选择在特定时间

您可以设置每小时、每天、每周或每月计划。

基于事件的计划

当输入数据任务完成运行时,可以使用基于事件的计划来运行任务。

  • 运行数据任务中选择特定事件发生时

您可以选择是否要在任何输入任务成功完成时运行该任务,或在任何选择的输入任务已成功完成时执行该任务。

信息注释如果触发计划时正在运行任何输入任务或下游任务,则该任务将不会运行。将跳过该任务,直到下一次计划运行。

监视转换任务

您可以通过单击监视来监视转换任务的状态和进度。

有关更多信息,请参阅监视单个数据任务

重新加载数据

如果数据具体化为物理表,则可以手动重新加载表。当一个或多个表出现问题时,这很有用。

信息注释如果数据集未具体化,则必须在上游数据任务中重新加载源数据集以刷新数据。
  1. 打开数据任务,然后选择监视器选项卡。

  2. 选择要重新加载的表。

  3. 单击重新加载表

下次运行任务时将进行重新加载。根据每个数据集的历史设置和转换类型,重新加载过程的行为有所不同。这意味着数据任务中的数据集之间的重新加载过程可能不同。

  • 数据集转换是通过截断和加载来重新加载的。

  • SQL 转换和转换流可以通过截断和加载,或者通过比较和应用来重新加载。最好的做法是进行比较和应用。

    基于 SQL 转换或转换流重新加载数据集

通过单击取消重新加载,可以取消正在等待重新加载的表的重新加载。这不会影响已经重新加载的表,并且当前正在运行的重新加载将完成。

将重新加载下游任务以应用更改并避免回溯。

重新加载转换数据任务后的下游影响

转换重新加载下游影响

下游的影响取决于执行的重新加载操作的类型和直接下游数据集的类型。标准处理意味着数据集将使用特定数据集的配置方法对数据进行反应和处理。

示例: 通过截断和加载重新加载数据集

  • 如果下一个数据集使用数据集转换,它将在下一次执行时通过截断和加载重新加载。

  • 如果下一个数据集是 SQL 转换或转换流,则将使用比较和应用重新加载它。

重新加载没有历史记录的数据集

在这种情况下,没有历史可供考虑。为了减少对目标的处理,通过以下方式执行重新加载:

  1. 截断表。

  2. 正在从上游数据任务加载当前数据。

将重新加载下游任务以应用更改。

在启用历史记录的情况下重新加载数据集

重新加载由以下人员执行:

  1. 截断当前表、先前表和更改表。

  2. 从上游数据任务加载数据,包括以前的表。

基于 SQL 转换或转换流重新加载数据集

  • 截断并重新加载

    信息注释此选项可能会导致历史记录丢失。
    1. 截断当前表和更改表。

    2. 运行查询并将其加载到当前表中。

  • 重新加载并比较

    1. 运行查询并将其与当前表进行比较。

    2. 添加更改。

信息注释当基于 SQL 转换或转换流的数据集因上游任务重新加载而重新加载时,总是通过比较和应用来重新加载。如果要截断并重新加载,必须为这些表发布特定的重新加载。在这种情况下,您还必须考虑对下游表格的影响。

转换设置

可以设置转换数据任务的特性。

  • 单击设置

警告注释如果任务已经运行,则更改运行时设置以外的设置需要重新创建数据集。

一般设置

  • 数据库

    要在数据源中使用的数据库。

  • 任务模式

    可以更改数据任务模式的名称。默认名称是任务的名称。

  • 内部模式

    可以更改内部存储模式的名称。默认名称是附加“__internal”的任务名称。

  • 所有表格和视图的前缀

    可以为使用此任务创建的所有表和视图设置前缀。

    信息注释如果要在多个数据任务中使用数据库架构,则必须使用唯一的前缀。
  • 具体化

    您可以选择仅创建即时执行转换的视图(非实体化),或者同时创建表和视图(实体化)。

  • 历史记录

    您可以保留历史更改数据,以便于在特定时间点重新创建数据。您可以使用历史视图和实时历史视图查看历史数据。

运行时设置

  • 平行执行

    您可以将满负载的最大连接数设置为 1 到 5 之间的数字。

  • 仓库

    云数据仓库的名称。

目录设置

  • 发布至目录

    选择此选项可将此版本的数据作为数据集发布到目录。目录内容将在下次准备此任务时更新。

有关目录的更多信息,请参阅通过目录工具理解您的数据

限制

  • 选择非具体化选项时,无法更改转换数据任务中的数据类型。

  • 字段级世系不适用于在 SQL 转换或转换流中创建的数据集。

了解详情

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!