Azure Synapse Analytics 任务

适用于:SQL Server Azure 数据工厂中的 SSIS Integration Runtime

Azure Synapse Analytics 任务启用 SSIS 包,将表格数据从文件系统或 Azure Blob 存储复制到 Azure Synapse Analytics 专用 SQL 池。 该任务利用 PolyBase 来改进性能,如 Azure Synapse Analytics 加载模式和策略一文中所述。 当前支持的源数据文件格式是采用 UTF8 编码的带分隔符的文本。 当从文件系统复制时,数据首先将上传到 Azure Blob 存储进行暂存,然后上传到专用 SQL 池。 因此,需要 Azure Blob 存储帐户。

注意

不支持将 Azure 存储连接管理器用于 Data Lake Gen2 服务类型。

若要为暂存阶段或源使用 Azure Data Lake Gen2,可通过 Azure 存储连接管理器与 Azure Blob 存储类型进行连接。

“Azure Synapsee Analytics 任务”是用于 Azure 的 SQL Server Integration Services (SSIS) 功能包的组件。

若要添加“Azure Synapse Analytics 任务”,请将其从 SSIS 工具栏拖放到设计器画布中,双击或右键单击它,然后单击“编辑”,查看任务编辑器对话框。

在“常规” 页上配置以下属性。

SourceType 指定源数据存储的类型。 选择下列类型之一:

  • FileSystem:源数据位于本地文件系统中。
  • BlobStorage:源数据位于 Azure Blob 存储中。

以下是每个源类型的属性。

FileSystem

字段 说明
LocalDirectory 指定包含待上传数据文件的本地目录。
Recursively 指定是否以递归方式搜索子目录。
FileName 指定用于选择具有特定名称模式的文件的名称筛选器。 例如,MySheet*.xsl* 将包含如 MySheet001.xsl 和 MySheetABC.xslx 等文件。
RowDelimiter 指定标记每一行末尾的字符。
ColumnDelimiter 指定标记每一列末尾的一个或多个字符。 例如,| (管道)、\t(制表符)、'(单引号),"(双引号)以及 0x5c(反斜杠)。
IsFirstRowHeader 指定每个数据文件的第一行是否包含列名称,而非实际数据。
AzureStorageConnection 指定 Azure 存储连接管理器。
BlobContainer 指定要将本地数据上传到并通过 PolyBase 转送到 Azure Synapse Analytics 专用 SQL 池的目标 blob 容器的名称。 如果此容器不存在,则将创建新容器。
BlobDirectory 指定要将本地数据上传到并通过 PolyBase 转送到 Azure Synapse Analytics 专用 SQL 池的目标 blob 目录(虚拟层次结构)。
RetainFiles 指定是否保留已上传到 Azure 存储的文件。
CompressionType 指定将文件上传到 Azure 存储时使用的压缩格式。 本地源不受影响。
CompressionLevel 指定用于压缩格式的压缩级别。
SqlPoolConnection 为 Azure Synapse Analytics 专用 SQL 池指定 ADO.NET 连接管理器。
TableName 指定目标表的名称。 可选择现有的表名称,或通过选择“<新建表...>”创建一个新表。
TableDistribution 指定新表的分发方法。 已为 TableName指定新的表名称时适用。
HashColumnName 指定用于哈希表分发的列。 已为 TableDistribution 指定 HASH时适用。

BlobStorage

字段 说明
AzureStorageConnection 指定 Azure 存储连接管理器。
BlobContainer 指定源数据所在的 blob 容器的名称。
BlobDirectory 指定源数据所在的 blob 目录(虚拟层次结构)。
RowDelimiter 指定标记每一行末尾的字符。
ColumnDelimiter 指定标记每一列末尾的一个或多个字符。 例如,| (管道)、\t(制表符)、'(单引号),"(双引号)以及 0x5c(反斜杠)。
CompressionType 指定用于源数据的压缩格式。
SqlPoolConnection 为 Azure Synapse Analytics 专用 SQL 池指定 ADO.NET 连接管理器。
TableName 指定目标表的名称。 可选择现有的表名称,或通过选择“<新建表...>”创建一个新表。
TableDistribution 指定新表的分发方法。 已为 TableName指定新的表名称时适用。
HashColumnName 指定用于哈希表分发的列。 已为 TableDistribution 指定 HASH时适用。

根据是复制到新表还是现有表,看到的“映射” 页面会有所不同。 如果是前者,请在待创建目标表中配置要映射到的源列及其对应名称。 如果是后者,请配置源和目标列之间的映射关系。

在“列” 页上,配置每个源列的数据类型属性。

“T-SQL”页显示用于将数据从 Azure Blob 存储加载到专用 SQL 池的 T-SQL。 T-SQL 从其他页面的配置中自动生成,并在任务执行的过程中执行。 若要满足特定需求,可通过单击“编辑” 按钮选择手动编辑已生成的 T-SQL。 之后可单击“重置” 按钮还原为自动生成的 T-SQL。