在 Azure Data Lake Storage 中连接到增量表
连接到 Delta 表中的数据,并将其引入 Dynamics 365 Customer Insights - Data。
连接到以 Delta 格式存储的数据的主要原因:
- 直接导入 Delta 格式数据,节省时间和工作量。
- 消除与转换和存储 Lakehouse 数据副本相关的计算和存储成本。
- 自动将数据引入的可靠性提高到由 Delta 版本控制提供的 Customer Insights - Data。
支持的 Databricks 功能和版本
Customer Insights - Data 支持“minReaderVersion”为 2 或更早版本的 Databricks 功能。 不支持需要 Databricks 阅读器版本 3 或更高版本的 Databricks 功能。 下表显示了支持和不支持的 Databricks 功能。
支持的功能 | 不支持的功能 |
---|---|
基本功能 | 删除向量 |
更改数据源 | Liquid 群集 |
检查约束 | 表功能写入 |
列映射 | TimestampNTZ |
生成列 | 类型扩大 |
标识列 | 变型 |
行跟踪 | |
表功能读取 | |
UniForm |
了解详细信息:Databricks 如何管理 Delta Lake 功能兼容性?。
先决条件
Azure Data Lake Storage 必须与 Customer Insights - Data 位于同一租户和 Azure 区域。
要连接到受防火墙保护的存储,请设置 Azure 专用链接。
Customer Insights - Data 服务主体必须具有存储 Blob 数据参与者权限才能访问存储帐户。 有关详细信息,请参阅向服务主体授予访问存储帐户的权限。
设置或更新数据源的用户至少需要 Azure Data Lake Storage 帐户的存储 Blob 数据读者权限。
联机服务中存储的数据可以存储在与处理或存储数据不同的位置。 导入或连接到联机服务中存储的数据即表示您同意传输数据。 在 Microsoft 信任中心了解更多信息。
Customer Insights - Data 支持 Databricks 阅读器版本 2。 不支持使用需要 Databricks 阅读器版本 3 或更高版本的功能的 Delta 表。 了解详细信息:支持的 Databricks 功能。
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 数据
数据连接名称、数据路径(如容器中的文件夹)和表名称必须使用以字母开头的名称。 名称只能包含字母、数字和下划线 (_)。 不支持使用特殊字符。
转到数据>数据源。
选择添加数据源。
选择 Azure Data Lake 增量表。
输入数据源名称和说明(可选)。 此名称将在下游流程中引用,在创建数据源后无法更改。
为连接存储使用的是选择以下选项之一。
- Azure 订阅:选择订阅,然后选择资源组和存储帐户。
- Azure 资源:输入资源 ID。
选择包含数据文件夹的容器的名称。
或者,如果要通过 Azure 专用链接从存储帐户引入数据,选择启用专用链接。 有关详细信息,请转到专用链接。
导航到包含 Delta 表中的数据的文件夹,选择该文件夹。 然后选择下一步。 可用表列表将显示。
选择要包括的表。
对于未定义主键的选定表,主键下将显示必需。 对于每个表:
- 选择必需。 编辑表面板将显示。
- 选择主键。 主键是表所特有的属性。 若要使属性成为有效主键,它不应包括重复值、缺少值或 null 值。 支持将字符串、整数和 GUID 数据类型属性作为主键。
- 选择关闭保存并关闭面板。
要在任何列上启用数据分析,选择表的列数。 管理属性页面将显示。
- 为整个表或特定列选择数据分析。 默认情况下,不会为数据分析启用任何表。
- 选择完成。
选择保存。 数据源页面将打开,显示处于正在刷新状态的新数据源。
加载数据可能需要一些时间。 成功刷新后,可以从表页查看引入的数据。
管理架构更改
在 Delta 文件夹数据源的架构中添加或删除列时,系统会对数据进行完整刷新。 与增量刷新相比,完全刷新处理所有数据的时间更长。
添加列
当列被添加到数据源时,进行刷新后,信息即会自动附加到 Customer Insights - Data 中的数据。 如果已为表配置了统一,必须将新列添加到统一流程中。
从客户数据步骤,选择选择表和列,然后选择新列。
在统一数据视图步骤中,确保该列未被从客户配置文件中排除。 选择排除并重新添加该列。
在运行统一客户配置文件的更新步骤中,选择统一客户配置文件和依赖项。
更改或删除列
从数据源中删除列时,系统会检查其他进程中的依赖项。 如果列中存在依赖项,系统将停止刷新并提供指示必须删除依赖项的错误。 这些依赖项将显示在通知中,以帮助您查找和删除。
验证架构更改
数据源刷新后,转到数据>表页面。 选择数据源的表并验证架构。
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 文件夹架构的更改会触发自动完全刷新。 要手动触发完全刷新,请执行以下步骤。
转到数据>数据源。
选择 Azure Data Lake 增量表数据源。
选择您要刷新的表。 编辑表窗格将显示。
选择运行一次性完全刷新。
选择保存运行刷新。 数据源页面将打开,显示处于正在刷新状态的数据源,但只刷新选定的表。
对其他表重复此过程(如果适用)。
数据同步失败
如果您的 Delta 文件夹数据被删除然后重新创建,数据同步可能会失败。 或者,如果 Customer Insights - Data 在版本升级时长时间无法连接到您的 Delta 文件夹。 为了最大限度地减少间歇性数据管道失败导致需要完全刷新的影响,我们建议您保持合理的历史记录积压,如 15 天。