你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Synapse 数据资源管理器数据引入概述(预览版)

数据引入是用于从一个或多个源加载数据记录以将数据导入 Azure Synapse 数据资源管理器池中的表的过程。 引入后,数据即可用于查询。

负责数据引入的 Azure Synapse 数据资源管理器数据管理服务实现以下过程:

  • 从外部源批量或流式拉取数据,然后从挂起的 Azure 队列中读取请求。
  • 批数据流入相同的数据库和表中,以优化引入吞吐量。
  • 验证初始数据,并在必要时转换格式。
  • 进一步的数据操作包括匹配架构、组织、编制索引、编码和压缩数据。
  • 数据根据设置的保留策略保留在存储中。
  • 将引入的数据提交到引擎中,以供查询使用。

支持的数据格式、属性和权限

批量与流式引入

  • 批量引入执行数据批处理,并针对高引入吞吐量进行优化。 此方法是引入的首选且性能最高。 数据根据引入属性进行批处理。 合并并优化小批量数据,以快速获得查询结果。 可以在数据库或表上设置引入批处理策略。 默认情况下,最大批处理值为 5 分钟、1000 项,或者 1 GB 的总大小。 批量引入命令的数据大小限制为 4 GB。

  • 流式引入是来自流式处理源的正在进行的数据引入。 流式引入针对每个表的小型数据允许近乎实时的延迟。 数据最初引入到行存储,然后移动到列存储盘区。

引入方法和工具

Azure Synapse 数据资源管理器支持多种引入方法,每种方法都有自己的目标方案。 这些方法包括引入工具、各种服务的连接器和插件、托管管道、使用 SDK 的编程引入,以及直接引入。

使用托管管道的引入

对于希望通过外部服务进行管理(限制、重试、监视器、警报等)的组织而言,使用连接器可能是最合适的解决方案。 排队引入适合大数据量。 Azure Synapse 数据资源管理器支持以下 Azure Pipelines:

  • Synapse 管道:用于分析工作负载的完全托管数据集成服务。Synapse 管道与 90 多个受支持的源连接,以提供高效且可复原的数据传输。 Synapse 管道准备、转换和扩充数据,以提供可通过不同方式监视的见解。 此服务可在周期性时间线上用作一次性解决方案,或者由特定的事件触发。

使用 SDK 的编程引入

Azure Synapse 数据资源管理器提供可用于查询和数据引入的 SDK。 通过在引入期间和之后尽量减少存储事务,编程引入得到优化,可降低引入成本 (COG)。

在开始之前,请使用以下步骤获取数据资源管理器池终结点以配置编程引入。

  1. 在 Synapse Studio 的左侧窗格中,选择“管理”>“数据资源管理器池” 。

  2. 选择要用于查看其详细信息的数据资源管理器池。

    Screenshot of the Data Explorer pools screen, showing the list of existing pools.

  3. 记录查询和数据引入终结点。 在配置到数据资源管理器池的连接时,请使用查询终结点作为群集。 为数据引入配置 SDK 时,请使用数据引入终结点。

    Screenshot of the Data Explorer pools properties pane, showing the Query and Data Ingestion URI addresses.

可用的 SDK 和开放源代码项目

工具

  • 一键式引入 :可让你创建和调整各种源类型的表,从而快速引入数据。 一键式引入会根据 Azure Synapse 数据资源管理器中的数据源自动推荐表和映射结构。 一键式引入可用于一次性引入,或通过事件网格在引入数据的容器上定义持续引入。

Kusto 查询语言引入控制命令

可以通过多种方法利用 Kusto 查询语言 (KQL) 命令将数据直接引入引擎。 由于此方法绕过数据管理服务,因此仅适用于探索和制作原型。 不要在生产或大容量方案中使用此方法。

  • 内联引入:向引擎发送控制命令 .ingest inline,要引入的数据是命令文本自身的一部分。 此方法用于临时测试目的。

  • 从查询引入:向引擎发送控制命令 .set、.append、.set-or-append 或 .set-or-replace,将数据间接指定为查询或命令的结果。

  • 从存储引入(拉取) :向引擎发送控制命令 .ingest into,数据存储在某个外部存储(例如 Azure Blob 存储)中,可供引擎访问,命令也可以指向它。

有关使用引入控制命令的示例,请参阅使用数据资源管理器进行分析

引入过程

根据需要选择最适合的引入方法后,执行以下步骤:

  1. 设置保留策略

    引入 Azure Synapse 数据资源管理器中的表的数据必须遵循该表的有效保留策略。 除非在表上显式设置,否则有效保留策略派生自数据库的保留策略。 热保留是群集大小和保留策略的功能。 引入超过可用空间的数据将强制首先进入的数据进行冷保留。

    确保数据库的保留策略符合你的需求。 如果并非如此,请在表级别显式重写它。 有关详细信息,请参阅保留策略

  2. 创建表

    为了引入数据,需要事先创建一个表。 使用以下选项之一:

    注意

    如果记录不完整或者无法将字段解析为所需的数据类型,则将使用 NULL 值填充相应的表列。

  3. 创建架构映射

    架构映射有助于将源数据字段绑定到目标表列。 映射允许根据定义的属性,将不同源中的数据引入同一个表。 支持不同类型的映射,行导向(CSV、JSON 和 AVRO)和列导向 (Parquet)。 在大部分方法中,可以在表上预先创建映射并从引入命令参数进行引用。

  4. 设置更新策略(可选)

    一些数据格式映射(Parquet、JSON 和 Avro)支持简单且有用的引入时间转换。 如果在引入时需要进行更复杂的处理,可使用更新策略,该策略允许使用 Kusto 查询语言命令进行轻型处理。 更新策略自动对原始表上的引入数据运行提取和转换,并将生成的数据引入到一个或多个目标表。 设置更新策略

后续步骤