我正在运行U-SQL活动,作为Azure数据工厂中管道的一部分,用于定义时间片。sql活动运行一系列的sql脚本,读取和处理存储在Azure数据湖中的数据。虽然数据处理在我的本地运行成功,它抛出一个系统内存不足异常时,运行在Azure数据工厂云环境。
Input数据大约是200MB,这应该不是处理问题,因为之前已经处理过更大的数据集。
内存管理假设是根据需要扩展的,在Azure云环境中看到内存不足异常是令人惊讶的,以下是在相同输入数据上运行的两次异常快照,唯一的区别是它们发生的时间。
异常快照- 1
异常快照- 2
任何帮助都非常感谢,谢谢。
进一步更新:在进一步的调查中,观察到使用变量skipNRow:1解决了这个问题,我们的u-sql代码片段背后有一个以日期比较为条件的循环,它可能不会因为标题行列的无效日期时间转换而终止,因为片段正在处理DateTime类型行列作为输入。理想情况下,这应该给出一个无效的日期时间格式异常,但我们看到的是内存不足异常。
看起来像是用户代码中的某些东西导致了异常,你可以尝试在VS中运行失败的顶点调试功能,你可以在VS中打开失败的作业,它应该在作业概述中给你一个错误栏,让你启动该进程。它将下载失败的部分到桌面,并让您逐步完成。