Хороший вопрос, я столкнулся с подобной проблемой *, и она не очень хорошо документирована.
Если я правильно помню, Data Factory предполагает, что ZipDeflate может содержать более одного файла, и, похоже, для создания папки нетнезависимо от того, что.
Если у вас есть файлы Gzip с другой стороны, которые имеют только один файл, то он создаст только это.
Вы, вероятно, уже знаете этот бит, но он у вас естьна передовой ваш разум помог мне понять, что разумная фабрика данных по умолчанию имеет:
Насколько я понимаю, стандарт Zip - это формат archive , в котором используется алгоритм Deflate.Будучи форматом архива, он, естественно, может содержать несколько файлов.
Принимая во внимание, что gzip (например) - это просто алгоритм сжатия, он не поддерживает несколько файлов (если tar не заархивирован первым), поэтому он будет распакован в файл без папки.
У вас мог бы быть дополнительный шаг фабрики данных, чтобы взять иерархию и скопировать ее в плоскую папку, возможно, но это приводит к случайным именам файлов (которые вы можете или не можете быть довольны).Для нас это не сработало, так как нашему следующему шагу в конвейере требовались предсказуемые имена файлов.
nb Фабрика данных не перемещает файлы, она копирует их, поэтому, если они очень большие, это может быть проблемой.Однако вы можете инициировать операцию перемещения метаданных через API хранилища озера данных или Powershell и т. Д.
* Моя ситуация была несколько сумасшедшей: я получал файлы с именем .gz из исходной системы, но на самом деле это были zip-файлы.замаскированный!В конце концов, лучшим вариантом было попросить нашу исходную систему перейти на настоящие файлы gzip.