Azure Data Factory 和 Synapse Analytics 中的二進位格式
適用於:Azure Data Factory Azure Synapse Analytics
提示
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用!
下列連接器可支援二進位格式:Amazon S3、Amazon S3 相容儲存體、Azure Blob、Azure Data Lake Storage Gen1、Azure Data Lake Storage Gen2、Azure 檔案儲存體、檔案系統、FTP、Google Cloud Storage、HDFS、HTTP、Oracle Cloud Storage 和 SFTP。
您可以在複製活動、GetMetadata 活動或刪除活動中使用二進位資料集。 使用二進位資料集時,服務不會剖析檔案內容,而是將其視為原狀。
注意
在複製活動中使用二進位資料集時,您只能從二進位資料集複製到二進位資料集。
資料集屬性
如需可用來定義資料集的區段和屬性完整清單,請參閱資料集一文。 本節提供二進位資料集所支援的屬性清單。
屬性 | 描述 | 必要 |
---|---|---|
type | 資料集的類型屬性必須設定為二進位。 | Yes |
location | 檔案的位置設定。 每個檔案型連接器都包含專屬的位置類型,並支援 location 下的屬性。 請參閱連接器文章 -> 資料集屬性一節中的詳細資料。 |
Yes |
壓縮 | 設定檔案壓縮的屬性群組。 當您要在活動執行期間執行壓縮/解壓縮時,請設定此區段。 | No |
type | 用來讀取/寫入二進位檔案的壓縮轉碼器。 允許的值為 bzip2、gzip、deflate、ZipDflate、Tar 或 TarGzip。 請注意,使用複製活動將 ZipDeflate/TarGzip/Tar 檔案解壓縮並寫入檔案型接收資料存放區時,預設會將檔案擷取至資料夾: <path specified in dataset>/<folder named as source compressed file>/ ,在複製活動來源上使用 preserveZipFileNameAsFolder /preserveCompressionFileNameAsFolder 來控制是否要保留壓縮檔的名稱做為資料夾結構。 |
No |
level | 壓縮比。 於複製活動接收器中使用資料集時適用。 允許的值為 Optimal 或 Fastest。 - Fastest:即使產生的檔案不以最佳方式壓縮,也應盡快完成壓縮作業。 - Optimal:即使作業需要較長時間完成,壓縮作業也應以最佳方式壓縮。 如需詳細資訊,請參閱 壓縮層級 主題。 |
No |
以下是 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"
}
}
}
}
複製活動屬性
如需可用來定義活動的區段和屬性完整清單,請參閱管線一文。 本節提供二進位來源和接收器支援的屬性清單。
注意
在複製活動中使用二進位資料集時,您只能從二進位資料集複製到二進位資料集。
將二進位作為來源
複製活動的 [來源] 區段支援下列屬性。
屬性 | 描述 | 必要 |
---|---|---|
type | 複製活動來源的類型屬性必須設定為 BinarySource。 | Yes |
formatSettings | 屬性群組。 請參閱以下的二進位讀取設定資料表。 | No |
storeSettings | 屬性群組,可決定從資料存放區讀取資料的方式。 在 storeSettings 下,每個檔案型連接器都包含專屬的支援讀取設定。 請參閱連接器文章 -> 複製活動屬性一節中的詳細資料。 |
No |
支援 formatSettings
下的二進位讀取設定:
屬性 | 描述 | 必要 |
---|---|---|
type | formatSettings 的類型必須設定為 BinaryReadSettings。 | Yes |
compressionProperties | 關於如何針對指定的壓縮轉碼器解壓縮資料的一組屬性。 | No |
preserveZipFileNameAsFolder ( compressionProperties ->type 下為 ZipDeflateReadSettings ) |
將輸入資料集設定為使用 ZipDeflate 壓縮時適用。 指出是否要在複製期間保留來源 ZIP 檔案名稱做為資料夾結構。 - 設定為 true (預設) 時,服務會將解壓縮的檔案寫入 <path specified in dataset>/<folder named as source zip file>/ 。- 設定為 false 時,服務會將解壓縮的檔案直接寫入 <path specified in dataset> 。 請確定不同的來源 ZIP 檔案中沒有重複的檔案名稱,以避免發生競爭或非預期的行為。 |
No |
preserveCompressionFileNameAsFolder ( compressionProperties -type > 下為 TarGZipReadSettings 或 TarReadSettings ) |
將輸入資料集設定為使用 TarGzip/Tar 壓縮時適用。 指出是否要在複製期間保留來源壓縮檔案名稱做為資料夾結構。 - 設定為 true (預設) 時,服務會將解壓縮的檔案寫入 <path specified in dataset>/<folder named as source compressed file>/ 。 - 設定為 false 時,服務會將解壓縮的檔案直接寫入 <path specified in dataset> 。 請確定不同的來源檔案中沒有重複的檔案名稱,以避免發生競爭或非預期的行為。 |
No |
"activities": [
{
"name": "CopyFromBinary",
"type": "Copy",
"typeProperties": {
"source": {
"type": "BinarySource",
"storeSettings": {
"type": "AzureBlobStorageReadSettings",
"recursive": true,
"deleteFilesAfterCompletion": true
},
"formatSettings": {
"type": "BinaryReadSettings",
"compressionProperties": {
"type": "ZipDeflateReadSettings",
"preserveZipFileNameAsFolder": false
}
}
},
...
}
...
}
]
將二進位作為接收器
複製活動的 [接收] 區段支援下列屬性。
屬性 | 描述 | 必要 |
---|---|---|
type | 複製活動來源的類型屬性必須設定為 BinarySink。 | Yes |
storeSettings | 屬性群組,可決定將資料寫入資料存放區的方式。 每個以檔案為基礎的連接器在 storeSettings 底下皆具有自身的支援寫入設定。 請參閱連接器文章 -> 複製活動屬性一節中的詳細資料。 |
No |