在 Azure Data Lake Storage 中连接到增量表

连接到 Delta 表中的数据,并将其引入 Dynamics 365 Customer Insights - Data。

Delta 是在 Databricks Lakehouse 平台中存储数据和表的基础 Delta Lake 中引入的一个术语。 Delta Lake 是一个开源存储层,为大数据工作负载引入 ACID(原子性、一致性、隔离性和持久性)事务。 有关详细信息,请参阅 Delta Lake 文档页面

连接到以 Delta 格式存储的数据的主要原因:

  • 直接导入 Delta 格式数据,节省时间和工作量。
  • 消除与转换和存储 Lakehouse 数据副本相关的计算和存储成本。
  • 自动将数据引入的可靠性提高到由 Delta 版本控制提供的 Customer Insights - Data。

先决条件

  • Azure Data Lake Storage 必须与 Customer Insights - Data 位于同一租户和 Azure 区域。

  • Customer Insights - Data 服务主体必须具有存储 Blob 数据参与者权限才能访问存储帐户。 有关详细信息,请参阅向服务主体授予访问存储帐户的权限

  • 设置或更新数据源的用户至少需要 Azure Data Lake Storage 帐户的存储 Blob 数据读者权限。

  • 联机服务中存储的数据可以存储在与处理或存储数据不同的位置。 导入或连接到联机服务中存储的数据即表示您同意传输数据。 在 Microsoft 信任中心了解更多信息

  • Delta 表必须位于存储容器中的一个文件夹中,不能位于容器根目录中。 例如:

    storageaccountcontainer/
        DeltaDataRoot/
           ADeltaTable/
                 _delta_log/
                     0000.json
                     0001.json
                 part-0001-snappy.parquet
                 part-0002-snappy.parquet
    
  • 您的 Azure Data Lake Storage 中的数据必须在 Delta 表中。 Customer Insights - Data 依赖于表历史记录中的版本属性来识别增量处理的最新更改。

从 Azure Data Lake Storage 连接到 Delta 数据

  1. 转到数据>数据源

  2. 选择添加数据源

  3. 选择 Azure Data Lake 增量表

    用于输入 Delta Lake 的连接详细信息的对话框。

  4. 输入数据源名称说明(可选)。 此名称将在下游流程中引用,在创建数据源后无法更改。

  5. 连接存储使用的是选择以下选项之一。

    • Azure 订阅:选择订阅,然后选择资源组存储帐户
    • Azure 资源:输入资源 ID
  6. 或者,如果要通过 Azure 专用链接从存储帐户引入数据,选择启用专用链接。 有关详细信息,请参阅专用链接

  7. 选择包含数据文件夹的容器的名称,然后选择下一步

  8. 导航到包含 Delta 表中的数据的文件夹,选择该文件夹。 然后选择下一步。 可用表列表将显示。

  9. 选择要包括的表。

  10. 对于未定义主键的选定表,主键下将显示必需。 对于每个表:

    1. 选择必需编辑表面板将显示。
    2. 选择主键。 主键是表所特有的属性。 若要使属性成为有效主键,它不应包括重复值、缺少值或 null 值。 支持将字符串、整数和 GUID 数据类型属性作为主键。
    3. 选择关闭保存并关闭面板。

    主键显示“必需”的对话框

  11. 要在任何列上启用数据分析,选择表的数。 管理属性页面将显示。

    用于选择数据分析的对话框。

    1. 为整个表或特定列选择数据分析。 默认情况下,不会为数据分析启用任何表。
    2. 选择完成
  12. 选择保存数据源页面将打开,显示处于正在刷新状态的新数据源。

    提示

    任务和流程有状态。 大多数流程依赖于其他上游流程,例如数据源和数据分析刷新

    选择状态以打开进度详细信息窗格,并查看任务的进度。 要取消作业,选择窗格底部的取消作业

    在每个任务下,您可以选择查看详细信息来获取更多进度信息,例如处理时间、上次处理日期以及与任务或流程相关的任何适用的错误和警告。 选择面板底部的查看系统状态可以查看系统中的其他流程。

加载数据可能需要一些时间。 成功刷新后,可以从页查看引入的数据。

管理架构更改

在 Delta 文件夹数据源的架构中添加或删除列时,系统会对数据进行完整刷新。 与增量刷新相比,完全刷新处理所有数据的时间更长。

添加列

当列被添加到数据源时,进行刷新后,信息即会自动附加到 Customer Insights - Data 中的数据。 如果您已经为表配置了统一,必须将新列添加到统一流程中。

  1. 客户数据步骤,选择选择表和列,然后选择新列。

  2. 统一数据视图步骤中,确保该列未被从客户配置文件中排除。 选择排除并重新添加该列。

  3. 运行统一客户配置文件的更新步骤中,选择统一客户配置文件和依赖项

更改或删除列

从数据源中删除列时,系统会检查其他进程中的依赖项。 如果列中存在依赖项,系统将停止刷新并提供指示必须删除依赖项的错误。 这些依赖项将显示在通知中,以帮助您查找和删除。

验证架构更改

数据源刷新后,转到数据>页面。 选择数据源的表并验证架构。

Delta Lake 时间旅行和数据刷新

Delta Lake 时间旅行是基于时间戳或版本号查询表版本的功能。 对 Delta 文件夹的更改已版本化,Customer Insights - Data 使用 Delta 文件夹版本来跟踪要处理的数据。 在定期增量表刷新中,将从上次刷新以来的所有数据表版本中拉取数据。 只要所有版本都存在,Customer Insights - Data 就可以仅处理更改的元素并提供更快的结果。 了解有关时间旅行的更多信息

例如,如果 Customer Insights – Data 上次与 Delta 文件夹数据的版本 23 同步,它预计会找到版本 23 以及可能在后续可用的版本。 如果预期的数据版本不可用,数据同步会失败,需要手动完全数据刷新。 如果您的 Delta 文件夹数据被删除然后重新创建,数据同步可能会失败。 或者,如果 Customer Insights - Data 在版本升级时长时间无法连接到您的 Delta 文件夹。

为了避免需要完全数据刷新,我们建议您保持合理的历史积压,如 15 天。

对 Delta 表文件夹手动运行完全数据刷新

完全刷新从 Delta 格式的表获取所有数据,并从版本零 (0) Delta 表重新加载数据。 对 Delta 文件夹架构的更改会触发自动完全刷新。 要手动触发完全刷新,请执行以下步骤。

  1. 转到数据>数据源

  2. 选择 Azure Data Lake 增量表数据源。

  3. 选择您要刷新的表。 编辑表窗格将显示。

    编辑表窗格来选择一次性完全刷新。

  4. 选择运行一次性完全刷新

  5. 选择保存运行刷新。 数据源页面将打开,显示处于正在刷新状态的数据源,但只刷新选定的表。

  6. 对其他表重复此过程(如果适用)。

数据同步失败

如果您的 Delta 文件夹数据被删除然后重新创建,数据同步可能会失败。 或者,如果 Customer Insights - Data 在版本升级时长时间无法连接到您的 Delta 文件夹。 为了最大限度地减少间歇性数据管道失败导致需要完全刷新的影响,我们建议您保持合理的历史记录积压,如 15 天。

后续步骤