Azure 数据工厂和 Synapse Analytics 中的二进制格式
适用于:Azure 数据工厂 Azure Synapse Analytics
以下连接器支持二进制格式:Amazon S3、Amazon S3 兼容存储、Azure Blob、Azure Data Lake Storage Gen2、Azure 文件存储、文件系统、FTP、Google 云存储、HDFS、HTTP、Oracle 云存储和 SFTP。
可以在 Copy 活动、GetMetadata 活动或 Delete 活动中使用二进制数据集。 使用二进制数据集时,该服务不会分析文件内容,而是将其按原样处理。
注意
在复制活动中使用二进制数据集时,只能从二进制数据集复制到二进制数据集。
数据集属性
有关可用于定义数据集的各部分和属性的完整列表,请参阅数据集一文。 本部分提供二进制数据集支持的属性列表。
属性 | 描述 | 必需 |
---|---|---|
type | 数据集的 type 属性必须设置为 Binary。 | 是 |
location | 文件的位置设置。 每个基于文件的连接器在 location 下都有其自己的位置类型和支持的属性。 请在连接器文章 -> 数据集属性部分中查看详细信息。 |
是 |
compression | 用来配置文件压缩的属性组。 如果需要在活动执行期间进行压缩/解压缩,请配置此部分。 | 否 |
type | 用于读取/写入二进制文件的压缩编解码器。 允许的值为 bzip2、gzip、deflate、ZipDeflate、Tar 或 TarGzip 。 请注意,使用复制活动解压缩 ZipDeflate/TarGzip/Tar 文件并将其写入基于文件的接收器数据存储时,默认情况下文件将提取到 <path specified in dataset>/<folder named as source compressed file>/ 文件夹,对复制活动源使用 preserveZipFileNameAsFolder /preserveCompressionFileNameAsFolder 来控制是否以文件夹结构形式保留压缩文件名 。 |
否 |
level | 压缩率。 在 Copy 活动接收器中使用数据集时应用。 允许的值为 Optimal 或 Fastest。 - Fastest:尽快完成压缩操作,不过,无法以最佳方式压缩生成的文件。 - 最佳:以最佳方式完成压缩操作,不过,需要耗费更长的时间。 有关详细信息,请参阅 Compression Level(压缩级别)主题。 |
否 |
下面是 Azure Blob 存储上的二进制数据集的示例:
{
"name": "BinaryDataset",
"properties": {
"type": "Binary",
"linkedServiceName": {
"referenceName": "<Azure Blob Storage linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"container": "containername",
"folderPath": "folder/subfolder",
},
"compression": {
"type": "ZipDeflate"
}
}
}
}
复制活动属性
有关可用于定义活动的各部分和属性的完整列表,请参阅管道一文。 本部分提供二进制源和接收器支持的属性列表。
注意
在复制活动中使用二进制数据集时,只能从二进制数据集复制到二进制数据集。
二进制文件作为源
复制活动的 *source* 节支持以下属性。
属性 | 描述 | 必需 |
---|---|---|
type | 复制活动源的 type 属性必须设置为 BinarySource。 | 是 |
formatSettings | 一组属性。 请参阅下面的“二进制读取设置”表。 | 否 |
storeSettings | 有关如何从数据存储读取数据的一组属性。 每个基于文件的连接器在 storeSettings 下都有其自己支持的读取设置。 请在连接器文章 -> 复制活动属性部分中查看详细信息。 |
否 |
formatSettings
下支持的“二进制读取设置”:
属性 | 描述 | 必需 |
---|---|---|
type | formatSettings 的 type 必须设置为“BinaryReadSettings”。 | 是 |
compressionProperties | 一组属性,指示如何为给定的压缩编解码器解压缩数据。 | 否 |
preserveZipFileNameAsFolder (在 compressionProperties ->type 下为 ZipDeflateReadSettings ) |
当输入数据集配置了 ZipDeflate 压缩时适用。 指示是否在复制过程中以文件夹结构形式保留源 zip 文件名。 - 如果设置为“true(默认)”,服务会将解压缩的文件写入 <path specified in dataset>/<folder named as source zip file>/ 。- 如果设置为“false”,服务会将解压缩的文件直接写入 <path specified in dataset> 。 请确保不同的源 zip 文件中没有重复的文件名,以避免产生冲突或出现意外行为。 |
否 |
preserveCompressionFileNameAsFolder (在 compressionProperties ->type 下为 TarGZipReadSettings 或 TarReadSettings ) |
当输入数据集配置了 TarGzip/Tar 压缩时适用 。 指示是否在复制过程中以文件夹结构形式保留源压缩文件名。 - 如果设置为“true(默认)”,服务会将解压缩文件写入 <path specified in dataset>/<folder named as source compressed file>/ 。 - 如果设置为“false”,服务会将解压文件直接写入 <path specified in dataset> 。 请确保不同的源文件中没有重复的文件名,以避免产生冲突或出现意外行为。 |
否 |
"activities": [
{
"name": "CopyFromBinary",
"type": "Copy",
"typeProperties": {
"source": {
"type": "BinarySource",
"storeSettings": {
"type": "AzureBlobStorageReadSettings",
"recursive": true,
"deleteFilesAfterCompletion": true
},
"formatSettings": {
"type": "BinaryReadSettings",
"compressionProperties": {
"type": "ZipDeflateReadSettings",
"preserveZipFileNameAsFolder": false
}
}
},
...
}
...
}
]
二进制文件作为接收器
复制活动的 *sink* 节支持以下属性。
属性 | 描述 | 必需 |
---|---|---|
type | 复制活动源的 type 属性必须设置为 BinarySink。 | 是 |
storeSettings | 有关如何将数据写入到数据存储的一组属性。 每个基于文件的连接器在 storeSettings 下都有其自身支持的写入设置。 请在连接器文章 -> 复制活动属性部分中查看详细信息。 |
否 |