我将一年以上的行作为增量表归档到 ADLSv2 中,当需要报告该数据时,我需要将归档数据与本地数据库中现有的一些表连接起来。有没有一种方法可以在不从云中重新水化或将数据水化到云的情况下进行连接?
最佳答案
是的,您可以使用Azure 数据工厂来完成此任务。
Azure Data Factory (ADF) is a fully managed, serverless data integration service. Visually integrate data sources with more than 90 built-in, maintenance-free connectors at no added cost. Easily construct ETL and ELT processes code-free in an intuitive environment or write your own code.
首先,您需要在本地计算机上安装自托管集成运行时才能访问 ADF 中的本地 SQL Server。要实现此目的,请参阅Connect to On-premises Data in Azure Data Factory with the Self-hosted Integration Runtime .
由于您已将数据归档到 ADLS 中,因此需要将该容器的访问层从冷 -> 热更改,以便检索 ADF 中的数据。
稍后,使用您创建的自托管 IR 创建链接服务。使用此链接服务创建数据集来访问本地数据库。
同样,使用默认 Azure IR 创建链接服务。使用此链接服务创建数据集以访问 ADLS 中的数据。
现在,您还需要一个目标数据库,用于在加入后存储数据。如果您将其存储在同一个本地数据库中,则可以使用现有的链接服务,但需要创建一个新的数据集并提及目标表名称。
完成所有这些配置后,在 ADF 中创建数据流事件管道。
Mapping data flows are visually designed data transformations in Azure Data Factory. Data flows allow data engineers to develop data transformation logic without writing code. The resulting data flows are executed as activities within Azure Data Factory pipelines that use scaled-out Apache Spark clusters.
了解有关映射数据流的更多信息 here .
最后,在数据流事件中,您的来源将是您在上面创建的本地数据集和 ADLS 数据集。您将使用join transformation in mapping data flow合并两个来源的数据。输出流将包括来自两个源的所有列,这些列根据连接条件进行匹配。
sink transformation将获取您的目标数据集,其中数据将作为输出存储。
关于sql - 我们可以将本地 SQL Server 数据库中的表连接到 Azure Delta Lake 中 Delta 表中的表吗?我有什么选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71579275/