Поддерживает ли Azure DataFactory определение рекурсивного l oop или al oop, которое изменяет его условие выхода? - PullRequest
0 голосов
/ 07 августа 2020

Допускает ли ADF (v2) рекурсивные действия или циклы, которые изменяют коллекцию, которую они перебирают?


Этот вопрос НЕ касается получения всех вложенных дочерних элементов папку, или о поиске минимума коллекции. Это лишь частные примеры того, где вы можете использовать такую ​​структуру управления. Не отвечайте решениями для конкретных c случаев!

  • Для данной папки вы можете легко перечислить прямых дочерних элементов этой папки с помощью действия Get-Metdata .
  • И вы можете перебирать каждого из этих дочерних элементов.
  • И если один из дочерних элементов сам является папкой, вы можете получить это прямые дочерние элементы.

...

Но я не вижу, позволят ли какие-либо управляющие структуры ADF вам продолжить этот процесс до его завершения, создавая коллекцию всех файлов, найденных на пути . Вы можете построить конвейер, который идет на фиксированное количество уровней вниз, но вы не можете быть на самом деле рекурсивным?

Аналогично, предположим, что вы хотите найти наименьший элемент в наборе, и у вас были .first() и .filter(), но не .sort() (Ха! Какая безумная система могла бы делать !) . Затем изменяемое условие l oop, вы можете сделать что-то вроде:

While(list.length > 1) {
    list = filter(list, where listElement <= first(list))
}

1 Ответ

0 голосов
/ 07 августа 2020

Если я правильно вас понял, вы хотите просмотреть рекурсивный набор файлов в N каталогах, а затем иметь возможность выполнить некоторую фильтрацию на основе всех повторяемых файлов?

Если да, Я бы посмотрел на настройку набора данных, который использует подстановочный знак для пути к папке в зависимости от того, как вы разбили свои файлы. Вы должны указать что-то вроде 2020/*/*/*.csv. Это достаточно просто. Но чтобы отфильтровать IN файлы, вам необходимо использовать поток данных сопоставления и использовать этот набор данных в качестве источника, а затем построить конвейер, который фильтрует ваши результаты.

https://docs.microsoft.com/en-us/azure/data-factory/data-flow-filter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...