Скорость извлечения данных из U-SQL для аналитики озера данных (локальная или Azure) - PullRequest
0 голосов
/ 24 мая 2018

Мы пытались использовать функциональность 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 Дайте мне знать, если вам нужна дополнительная информация.

Спасибо,

Ник.

1 Ответ

0 голосов
/ 24 мая 2018

См. Слайд 31 из https://www.slideshare.net/MichaelRys/best-practices-and-performance-tuning-of-usql-in-azure-data-lake-sql-konferenz-2018.. Есть опция предварительного просмотра

SET @@ FeaturePreviews = "InputFileGrouping: on";

, которая группирует небольшие файлы в ограниченные вершины.

...