调试数据工厂管道
客户要求和期望根据数据集成而改变。 因此,用户就更亟须以迭代方式开发和调试其提取转换/加载 (ETL) 和提取加载/转换 (ELT) 工作流。
开发数据集成解决方案时,Azure 数据工厂可帮助你生成和开发迭代调试数据工厂管道。 通过使用管道画布创作管道,可以使用调试功能测试活动和管道。
在 Azure 数据工厂中,在需要调试之前,无需发布管道或活动中的更改。 这对于以下情况非常有用:你想要测试更改,并查看它是否按预期运行,然后再保存并发布这些更改。
有时,你不希望调试整个管道,而只想调试管道的测试部分。 可以通过调试运行完成此操作。 可以端到端测试管道或设置断点。 在调试模式下这样做,可以在生成和调试管道时以交互方式查看每个步骤的结果。
调试和发布管道
创建或修改运行中的管道时,可在管道画布的“输出”选项卡中查看每个活动的结果。
在测试运行成功后,如果对结果感到满意,可以将更多活动添加到管道,并以迭代方式继续调试。 如果你不满意或想要停止调试管道,可以在测试运行的过程中取消它。 请注意,选择调试滑块将实际运行管道。 因此,例如,如果管道包含复制活动,则测试运行会将数据从源复制到目标。
最佳做法是在进行调试时在复制活动中和其他活动使用测试文件夹,以便在对结果感到满意并调试管道后,切换到实际文件夹以进行正常操作。
若要调试管道,请在工具栏上选择“调试”。 可以在窗口底部的“输出”选项卡中看到管道运行的状态。
在管道可以成功运行后,在顶部工具栏中选择“全部发布”。 此操作将所创建的实体(数据集和管道)发布到数据工厂。
等待“已成功发布”消息出现。 要查看通知信息,请选择门户右上方的“显示通知”(铃铛图标)。
映射数据流调试
在生成映射数据流的过程中,可以交互方式查看数据成形和转换的执行方式,以便可以对其进行调试。 若要使用此功能,首先需要打开“数据流调试”功能。
调试会话既可以在数据流设计会话中使用,也可以在数据流的管道调试执行过程中使用。 打开调试模式后,你将使用活动的 Spark 群集实际生成数据流。 调试关闭后,Spark 群集将关闭。 你可以选择要使用的计算。 使用现有调试群集时,它会缩短启动时间。 但对于复杂或并行工作负载,你可能想要创建自己的实时群集。
调试数据流的最佳做法是保持打开调试模式,以检查和验证数据流中包含的业务逻辑。 直观地查看数据转换和形状可以帮助你查看更改。
如果要在已创建的管道中测试数据流,最好使用管道面板上的“调试”按钮。 数据预览不写入数据,而数据流中的调试运行会将数据写入到接收器目标,就像调试管道一样。
调试设置
如前所述,从 Azure 数据工厂用户界面启动的每个调试会话都被视为具有自己的 Spark 群集的新会话。 为了监视会话,你可以使用调试会话的监视视图,管理已设置的每个数据工厂的调试会话。
若要查看 Spark 群集是否已可调试,可以在设计图面顶部查看群集状态指示。 如果它为绿色,则已准备就绪。 如果在进入调试模式时群集尚未运行,大约需要 5-7 分钟的等待时间,因为需要启动群集。
最佳做法是在完成调试后关闭调试模式,使 Spark 群集终止。
调试时,可以通过选择“调试设置”来编辑数据流中数据的预览。 如果使用源转换,则更改数据预览的示例可以是行限制或文件源。 选择过渡链接服务时,可以使用 Azure Synapse Analytics 作为源。
如果数据流或其引用的任何数据集中有参数,你可以通过选择“参数”选项卡来指定在调试期间使用的值。在调试过程中,不需要接收器,数据流中将忽略接收器。 如果要测试转换后的数据并将其写入接收器,可以从管道执行数据流并从管道使用调试执行。
如前所述,在 Azure 数据工厂中,只能在特定点或活动之前进行调试。 若要执行此操作,可以在活动中要测试的位置之前使用断点,然后选择“调试”。 “调试至” 选项在元素的右上角显示为空心的红色圆圈。 选择“调试至”选项后,它将变为实心的红色圆圈,以指示已启用断点 。 然后,Azure 数据工厂将确保测试仅运行到管道中的该断点活动为止。 当你只想测试管道中的一部分活动时,此功能很有用。
在大多数情况下,Azure 数据工厂中的调试功能就足够了。 但是,有时需要在克隆的沙箱环境中测试管道中的更改。 如果你具有参数化的 ETL 管道,而你想要测试它们触发文件到达与翻转时间范围对应的表现,可以使用此方法。 在这种情况下,克隆沙盒环境可能更适合。
关于 Azure 数据工厂的一个有用的知识点是,由于它很大程度上仅按运行数量收费,创建第二个数据工厂不一定要支付额外的费用。
监视调试运行
为了监视调试运行,可以检查输出选项卡,但仅适用于浏览会话中发生的最近运行,因为它不会显示历史记录。 如果想查看调试运行的历史记录,或要查看所有活动调试运行,可以前往“监视”选项卡。
要记住的一点是,Azure 数据工厂服务只会将调试运行历史记录保存 15 天。 如果涉及监视数据流调试会话,你也会前往“监视”选项卡。