У меня есть сценарий U-SQL, который обрабатывает некоторые данные с использованием некоторых UDO, а затем, наконец, выводит файл обратно в озеро данных Azure.
Ожидаемое поведение: если генерируемый файл пуст, сценарий должен завершиться ошибкой, однако я не могу его заставить это сделать.
Я попытался реализовать простой редуктор, который подсчитывает количество строк и выдает исключение, когда счетчик равен нулю. Тем не менее, он не вызывается во время выполнения, так как файл пуст, и сценарий завершается успешно.
Есть идеи, как это сделать?
Функция уменьшения ниже:
public override IEnumerable<IRow> Reduce(...)
{
long count = 0;
foreach (var row in input.Rows)
{
count++;
break;
}
if (count == 0)
{
throw new Exception("Zero rows found in table");
}
else
{
output.Set("Count", count);
yield return output.AsReadOnly();
}
}