复制活动中的容错通过跳过不兼容的行

Posted

技术标签:

【中文标题】复制活动中的容错通过跳过不兼容的行【英文标题】:Fault tolerance in Copy Activity by skipping incompatible rows 【发布时间】:2018-06-11 22:39:20 【问题描述】:

我将 Azure Fucntion 与 Azure SDK 和 Azure 数据工厂一起使用,在复制活动中应用“记录不兼容的行”时,有什么方法可以获取活动窗口的 skippedRowCount 的值(来源:Blob 存储,接收器:SQL 数据仓库)?

【问题讨论】:

到目前为止你尝试过什么?您是否查看过用于查询活动运行返回什么的 PowerShell cmdlet? 你已经看过Monitor skipped rows了吗?如果您使用的是 blob 触发器,您是否检查了 blob 的日志文件? 客户需求:使用azure数据工厂将blob存储中的csv文件导入SQL数据仓库。并将处理后的文件归档到blob存储中的其他地方;这些文件的一个位置成功导入,一个位置失败文件(文件的数据不兼容 - 格式错误,长度错误)。我使用策略“容错并在 Azure Blob 存储中记录不兼容的行”,因此我需要获取活动窗口的 skippedRowCount 的值才能知道该活动有一些不兼容的行。 根据我在 Azure SDK 中的研究,不支持获取此值。我已经在 PowerShell 中寻找,也没有办法获得。因为我是 Azure 的新手,所以我希望我不会错过任何解决方案。 【参考方案1】:

从这里的文档:Monitor skipped rows,看起来当在https://[your-blob-account].blob.core.windows.net/[path-if-configured]/[copy-activity-run-id]/[auto-generated-GUID].csv 启用日志不兼容的行时会自动生成一个日志文件。您可以在生成的日志文件上设置blob trigger。这是一个示例 function.json

"disabled": false,
"bindings": [
    
        "name": "myBlob",
        "type": "blobTrigger",
        "direction": "in",
        "path": "[path-if-configured]/[copy-activity-run-id]",
        "connection":"MyStorageAccountAppSetting"
    
]

注意:您也可以使用blob name patterns 指定绑定路径。

在函数代码中,可以方便的访问日志文件的内容,得到skippedRowCount

【讨论】:

以上是关于复制活动中的容错通过跳过不兼容的行的主要内容,如果未能解决你的问题,请参考以下文章

跳过不兼容的 libpcap.so - 交叉编译

在搜索 -ldeepsort 时跳过不兼容的 ../tracker/libdeepsort.so

使用 mono 交叉编译 c 时跳过不兼容的库 (lmono)

搜索 /lib/libpthread.so.0 时跳过不兼容的 /lib/libpthread.so.0

/usr/bin/ld: 搜索 -lQtCore 时跳过不兼容的 /usr/lib/x86_64-linux-gnu/libQtCore.so

ExtJs:在非活动选项卡中以编程方式选择 GridPanel 的行不起作用?