Я копирую данные из локальных файлов в хранилище BLOB-объектов Azure. Первая часть конвейера — это извлечение последнего измененного файла из локальной среды в хранилище BLOB-объектов (blob_input). После этого у меня проблемы. У меня есть один файл из 5, который не имеет фактических данных, а показывает только «нет данных», что делает невозможным перенос в sql, это конечная цель. Поэтому я подключил свои «данные копирования» к созданному мной конвейеру фильтрации. Однако мой конвейер не отфильтровывает файл. Может ли кто-нибудь сказать мне, чего не хватает моему конвейеру? Я добавил изображения ниже, чтобы прояснить ситуацию, но Stackoverflow не позволил мне опубликовать больше, поэтому я создал документы Google со всей информацией ifcondition1 copydata1 copydata2
Я воспроизвел ваш сценарий: проблема, вызывающая фильтрацию файла, в котором он содержит только no data
, если вы используете первую строку в качестве заголовка, тогда счетчик поиска для этого файла равен 0, что не равно 1, поскольку он не отфильтровывает этот файл.
Это условие
@greater(activity('Lookup1').output.count,0)
, он будет фильтровать файл, если количество просмотров больше 0.
Вывод
Действие копирования не копирует данные из файла daily4
, потому что у него есть образец ввода, как у вас, и он не выполнил условие if.
Смена с 1 на 0 помогла, спасибо Pratik!
@not(equals(activity('Lookup1').output.count,1))
это условие проверяет, что счетчик поиска равен 1 или нет, если вы используете первую строку в качестве заголовка, тогда счетчик поиска для этого файла равен 0, что не равно 1, в этом случае вы можете использовать это условие@greater(activity('Lookup1').output.count,0)
он будет фильтровать файл, если счетчик поиска больше 0.