sql - 我们可以将本地 SQL Server 数据库中的表连接到 Azure Delta Lake 中 Delta 表中的表吗?我有什么选择

标签 sql azure join cloud relational-database

我将一年以上的行作为增量表归档到 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/

相关文章:

mysql - 如果取消,我是否会删除或取消用户的喜欢/不喜欢?

SQL 服务器 2008 : N small databases VS 1 database with N schemas

azure - 以编程方式访问对等角色主机名

mysql - 如何使用 Codeigniter 将两个不同的查询合并为一个查询

MYSQL连接三个表并按连接日期分组

sql - 这个sql注入(inject)试图做什么以及如何检查它是否有效?

php - 我想对两个表求和,然后将两个值相加以获得收入

azure - 如何在 Azure 逻辑应用程序的步骤之间传递值?

azure - 使用 powershell 重命名 AD 用户时出错

php - 查询中存在不带 LIMIT 的 LEFT JOIN