Мы пытались использовать функциональность Azure Data Lake Analytics, чтобы попытаться манипулировать некоторыми XML-данными Gzip, которые я хранил в хранилище BLOB-объектов Azures, но столкнулся с интересной проблемой.По сути, при локальном использовании U-SQL для обработки 500 таких XML-файлов время обработки очень короткое, примерно 40 секунд при локальном использовании 1 AU (что является предельным значением).Однако когда мы запускаем эту же функциональность из Azure с использованием 5 AU, обработка занимает 17+ минут.
В конечном итоге мы хотим увеличить это до ~ 20 000 файлов и более, но сократили набор, чтобы попытаться измеритьspeed.
Каждый файл, содержащий коллекцию из 50 xml-объектов (с разным количеством деталей, содержащихся в дочерних элементах), составляет примерно 1 МБ, когда Gzip'd, и от 5 МБ до 10 МБ, если нет.99% времени обработки тратится в секции EXTRACT сценария u-sql.
Вещи пробовали,
Разархивировали файлы перед обработкой, это заняло примерно столько же времени, сколько и в архивеверсия, конечно, нигде около 40 секунд, которые я видел на месте.Перемещение данных из хранилища BLOB-объектов в хранилище озера данных Azure заняло точно такое же время.Временно удалил около половины данных из файлов и повторно запустил, что удивительно, что это не заняло больше минуты.Добавлены дополнительные AU для увеличения времени обработки, это сработало очень хорошо, но не является долгосрочным решением из-за затрат, которые будут понесены.Мне кажется, что при получении данных из хранилища BLOB-объектов Azure / озера данных Azure возникает серьезное узкое место.Я что-то упускаю из виду.
PS Дайте мне знать, если вам нужна дополнительная информация.
Спасибо,
Ник.