我在 Azure Data Lake 存储中有一个非常大的文件 (257 GB),当我昨天尝试对其进行简单提取时,出现以下错误
Vertex terminated as it ran for more than 5h hours. The input size of the vertex SV1_Extract_Partition[0][53].v0 with guid {2F8802B8-F93A-47EE-80E2-274590BD76A5} is 1.171594 GB. In most situations, this is caused by data skew such as one data partition containing most of the data. Use of different partitioning scheme or re-partitioning data can resolve such issue.
所以我很确定发生的情况是 U-SQL 没有正确分区我的文件。我正在使用自定义编写的提取器,但我不明白为什么会出现这种情况。
如何确保对文件进行分区。这个错误让我损失了很多钱(超过 2000 美元),所以在我能确保作业运行时我的文件正确分区之前,我真的不想再次运行这种规模的任何东西。
我真的需要手动将文件分割成更小的文件吗?
最佳答案
分区大小1GB左右看起来很正常。问题可能出在您的自定义提取器中,它确实处理该数据超过 5 个小时。
我建议调查您的提取器在文件的特定分区上执行的操作。
关于azure-data-lake - 大文件USQL查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42366421/