【问题标题】:Azure Blob Storage as Destination in Azure Data Factory Pipeline with Specific File name and CompressionAzure Blob 存储作为具有特定文件名和压缩的 Azure 数据工厂管道中的目标
【发布时间】:2018-02-20 15:00:49
【问题描述】:

我正在尝试将数据从 azure sql 数据库复制到 Azure Blob 存储。

来源:Azure SQL 数据库。 目标:Azure Blob 存储。

"typeProperties": {
            "fileName": "MyFile.csv.zip",
            "folderPath": "myfolderpath/",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "nullValue": "",
                "firstRowAsHeader": false
            },

            "compression": {
                "type": "ZipDeflate",
                "level": "Fastest"
            }
        },

Zip 文件已完美创建,但它包含提取后自动生成的文件名(不是 MyFile.csv)。

当我使用 GZip 压缩时,.gz 文件包含具有相同文件名的文件,例如 MyFile.csv

我阅读了documentation,但找不到任何东西。

有人遇到过同样的问题吗?请指教。

【问题讨论】:

    标签: azure azure-data-factory azure-blob-storage


    【解决方案1】:

    Zip 不同于 GZip。前者是带存档的压缩器,后者是基于文件的压缩器。

    您指定的文件名仅用于结果压缩文件的名称,与内部文件的名称无关。考虑到数据是从没有原始文件名的 SQL 源中提取的,我们只需为其使用自动生成的名称。

    一个 zip 文件可能有多个内部文件。如果您提到只有一个内部文件时,内部文件的名称可以与给定的 zip 文件相关联。是的。但我们目前还没有采取这样的改进。

    为了缓解和满足您的要求,您可以编写两个活动。第一个根据需要将数据从 SQL 获取到具有指定文件名 (MyFile.csv) 的 Blob。第二个将其归档为 zip 文件 (MyFile.csv.zip)。

    【讨论】:

    • 我已经按照你的建议实现了,首先我生成 csv 然后使用复制活动压缩它。
    • 嗨 sangram,请再次确认。你的意思是缓解措施对你有用吗?您可以为第一个副本的接收器数据集中的 csv 文件提供一个有意义的名称。
    • 它是另一种选择,它可以工作 1. 生成具有有意义名称的 csv 文件 2. 使用有意义的名称将其压缩为 zip。
    【解决方案2】:

    根据您的描述,我检查了这个问题,我可以重现您提到的相同问题,如下所示:

    Azure Blob 存储中的压缩数据:

    本地解压文件:

    目前,我们无法更改任何配置来解决此问题。您可以添加您的反馈here

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-03
    • 2016-08-30
    • 2020-01-17
    • 2021-07-20
    • 1970-01-01
    • 2020-12-22
    • 2020-06-27
    • 2016-08-13
    相关资源
    最近更新 更多