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

转换数据

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

  • 您可以执行显式数据集转换,或者创建转换多个数据集的全局规则。您还可以过滤数据集以创建行的子集。

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

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

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

创建转换数据任务

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. 创建数据模型

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

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

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

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

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

    单击 ... 然后单击运行

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

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

计划转换任务

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

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

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

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

基于时间的计划

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

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

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

基于事件的计划

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

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

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

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

监视转换任务

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

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

重新加载数据

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

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

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

  3. 单击重新加载表

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

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

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

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

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

  1. 截断表。

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

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

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

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

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

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

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

  • 截断并重新加载

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

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

  • 重新加载并比较

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

    2. 添加更改。

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

转换设置

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

  • 单击设置

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

一般设置

  • 数据库

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

  • 数据任务模式

    可以更改存储数据任务模式的名称。默认名称为 store

  • 内部模式

    可以更改内部存储模式的名称。默认名称为 store__internal

  • 所有表格和视图的前缀

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

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

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

  • 历史记录

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

运行时设置

  • 平行执行

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

  • 仓库

    云数据仓库的名称。

限制

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

  • 基于非具体化 SQL 的数据集仅提供完整的结果集,不支持增量筛选。非具体化的基于 SQL 的数据集也只提供当前数据,不保留历史记录。

了解详情

本页面有帮助吗?

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