Практический опыт работы с Azure Data Lake: как быстро повысить продуктивность

  • Oct 27, 2023

Azure Data Lake — это облачная смесь Microsoft Апач Хадуп, хранилище Azure, SQL и .NET/C#. Он предоставляет разработчикам расширяемый синтаксис SQL для запроса огромных наборов данных, хранящихся в файлах различных форматов, и доступен из браузера, из Visual Studio и даже из инструментов бизнес-аналитики.

В этой галерее я покажу вам все тонкости двух основных компонентов службы: Azure Data Lake Store (ADLS) и Azure Data Lake Analytics (ADLA). Я также познакомлю вас с процессом подготовки; соответствующий инструмент; диалект SQL и его интеграция с .NET; и как данные в Azure Data Lake можно запрашивать из внешних инструментов, таких как Power BI.

Начать работу с Azure Data Lake довольно просто. Просто нажмите кнопку «+» в верхнем левом углу, выберите «Интеллект + аналитика», прокрутите вниз, и вы увидите обе соответствующие службы: Data Lake Store и Data Lake Analytics. Сначала настройте Data Lake Store.

Настроить Azure Data Lake Store (ADLS) также довольно просто. Введите имя учетной записи (оно должно быть уникальным для всех учетных записей ADLS), а затем имя группы ресурсов, которая будет ее содержать. Вот и все! Теперь вы можете установить флажок «Закрепить на панели управления» и нажать синюю кнопку «Создать».

Если вы отметили «Закрепить на информационной панели», вы должны увидеть плитку, добавленную на вашу информационную панель, указывающую, что ваша учетная запись ADLS развертывается, как показано здесь.

Развертывание не займет много времени. После завершения вы увидите этот «блейд» на портале Azure. Обратите внимание на кнопку вверху, которая открывает интерфейс ADLS, похожий на проводник. Это будет полезно, когда у вас будут какие-то данные.

Теперь, когда ваша учетная запись Azure Data Lake Store настроена, вы можете вернуться к шагу, который мы показали на слайде 2 («Выберите свою службу»), и выбрать Azure Data Lake Analytics (ADLA).

Как только вы это сделаете, вы увидите эту форму подготовки. Как и раньше, вам нужно будет указать имя и имя группы ресурсов, но вам также нужно будет щелкнуть параметр «Хранилище озера данных» и выбрать учетную запись ADLS, которую вы только что подготовили.

Другими словами, вы будете выполнять анализ с помощью ADLA, и он будет извлекать данные из учетной записи ADLS и сохранять их в ней.

Как и раньше, установите флажок «Закрепить на панели мониторинга» и нажмите синюю кнопку «Создать», чтобы подготовить арендатора ADLA.

После завершения подготовки вы увидите вот такой экран. Обратите внимание на возможность добавлять дополнительных пользователей (и предоставлять им доступ к вашим) данным. Кнопка «Примеры сценариев» вверху позволяет вам запросить образцы данных практически в кратчайшие сроки. Нажмите на нее, чтобы начать.

Теперь вы увидите варианты запроса файла значений, разделенных табуляцией (TSV), создания базы данных и таблицы, заполнения таблицы и запроса к таблице. Но вы не сможете сделать ничего из этого, пока не щелкнете по двум элементам над этими параметрами, которые загрузят образец данных и расширения U-SQL (подробнее о U-SQL чуть позже) в ваш клиент ADLA. Поэтому щелкните каждый вариант и дайте обоим процессам завершиться.

Сейчас вы можете нажать кнопку «Запросить файл TSV». Как только вы это сделаете, появится полноценный сценарий U-SQL.

U-SQL — это диалект популярного языка структурированных запросов, который можно использовать с ADLA для запроса данных в ADLS. Этот конкретный сценарий U-SQL извлекает данные из файла TSV с помощью команды EXTRACT U-SQL и помещает результат запроса в другой файл TSV с помощью команды OUTPUT.

Обратите внимание, что редактор U-SQL, хотя он и встроен в портал Azure, поддерживает цветовую подсветку синтаксиса. В Visual Studio есть еще лучшая поддержка редакторов, и мы это увидим. Но это неплохо для браузера!

Нажатие кнопки «Отправить задание» (выделено) вверху приведет к выполнению запроса. Мы рассмотрим это немного позже.

Некоторым пользователям знакомая концепция таблиц может показаться более удобной, чем хранить все в файлах.

Таким образом, вместо того, чтобы работать исключительно с текстовыми файлами для ввода и вывода, этот сценарий U-SQL создает ADLA-файл. база данных, называемая SampleDBTutorials, и пустая таблица внутри нее, называемая SearchLog, в которую можно вставлять данные. позже.

Теперь, когда таблица заполнена, этот сценарий U-SQL использует стандартную команду SELECT для ее запроса. Больше не нужно использовать EXTRACT и плоские файлы! Набор результатов сохраняется в переменной @athletes.

Затем команда OUTPUT используется для экспорта набора результатов @atheletes, а затем всей таблицы SearchLog в файлы.

Теперь вернитесь к первому сценарию (Запрос файла TSV) и нажмите «Отправить», чтобы запустить задание.

Задание пройдет этап подготовки, а затем этап постановки в очередь, как показано здесь. Работа, которую необходимо выполнить в задании, представлена ​​задачами на графике задания справа. Имейте в виду, что эти графики могут оказаться намного сложнее, чем этот.

Далее следуют этапы запуска и завершения, после которых выходные данные задания будут существовать в виде файла с именем SearchLog_output.tsv.

Когда задание будет завершено, щелкните фигуру, представляющую файл SearchLog_output.tsv (внизу графика задания). Это позволит вам просмотреть его содержимое прямо на портале Azure, как показано здесь.

Как бы ни было удобно выполнять всю эту работу в браузере, многие профессионалы предпочтут использовать полноценную интегрированную среду разработки.

С этой целью Microsoft создала инструменты Azure Data Lake для Visual Studio. бесплатная загрузка. У них также есть отличный образец проекта Azure Data Lake для Visual Studio, который вы можете скачать с GitHub. (А если у вас нет Visual Studio, вы можете воспользоваться полнофункциональной версией Community Edition. бесплатная загрузка слишком.)

Сделайте все это, откройте проект, войдите в свой клиент ADLA, откройте первый скрипт и нажмите кнопку «Отправить». Задание будет выполнено прямо в Visual Studio, как показано здесь.

Когда выполнение задания будет завершено, щелкните правой кнопкой мыши фигуру графика задания для выходного файла, и вы увидите параметры предварительного просмотра и загрузки данных, а также многое другое.

Если вы выберете опцию «Открыть папку» в меню, упомянутом на предыдущем слайде, вы увидите полноценный проводник файлов ADLS прямо внутри Visual Studio, как показано здесь.

Перейдите к папке /Output/TweetAnasis, затем откройте MyTwitterAnalysis1.tsv — выходной файл задания.

Файл откроется в показанной здесь программе просмотра, которая отобразит метаданные файла, несколько строк его данные в табличном виде и предоставить возможность сохранить данные локально в формате CSV или просмотреть данные в формате Эксель.

Редактор сценариев U-SQL Visual Studio имеет раскрывающийся список вверху, который позволяет выбрать «(Локальный)» в качестве клиента ADLA. Выберите это, и вы сможете запускать задания локально, не взимая никакой платы за использование облака.

Здесь показано выполнение того же сценария, что и на слайде 15 («Наглядное представление»), но на этот раз локально. Обратите внимание: после завершения выполнения вы можете навести указатель мыши на форму графика задания выходного файла, чтобы увидеть его расположение на локальном диске.

Перейдите в папку AppData\Local\USQLDataRoot в своей пользовательской папке, чтобы перейти к локальному диску, эквивалентному корневой папке ADLS в облаке. Затем перейдите к подпапке Output\TweetAnasis внутри нее и вы найдете выходной файл, как показано здесь. Дважды щелкните файл, чтобы открыть его в редакторе по умолчанию для файлов TSV (в случае этого снимка экрана — Excel 2016).

Работа с Azure Data Lake в Visual Studio — это нечто большее, чем просто использование классического приложения. Это связано с тем, что запросы U-SQL могут вызывать функции, написанные на C#, либо в файлах кода программной части, либо в отдельных проектах сборки .NET.

Здесь показан исходный код функции C# под названием get_mentions. Посмотрите на окно обозревателя решений в правом верхнем углу, и вы увидите, что файл класса, содержащий это код находится в собственном проекте C#, отдельном от проекта Azure Data Lake, но в той же Visual Studio. решение.

Выражения C# также можно использовать внутри скриптов U-SQL. Сюда входят сценарии, созданные на портале Azure. Однако для использования кода программной части C# и методов сборки требуется Visual Studio.

Этот сценарий U-SQL использует функцию get_mentions в запросе SELECT.

Обратите внимание: в верхней части сценария находится команда REFERENCE ASSEMBLY, используемая для ссылки на сборку .NET, созданную в результате компиляции проекта C#, показанного на предыдущем слайде.

Команда CREATE ASSEMBLY должна быть запущена один раз, прежде чем можно будет использовать REFERENCE ASSEMBLY. Код первого также показан, хотя он закомментирован.

Посмотрите внимательно на главное меню Visual Studio (по общему признанию, переполненное). Если вы работаете в проекте Azure Data Lake, вы увидите элемент «Data Lake», примерно седьмой или восьмой слева. Нажмите на нее, и вы увидите показанные здесь параметры.

Знаете ли вы, что Microsoft Power BI может напрямую подключаться к данным, хранящимся в ADLS? Это правда, и это показано здесь.

Вы бы не подключились к этим данным, если бы не захотели их визуализировать, верно? Здесь показано несколько визуализаций выходного файла effectr.csv из сценария 8-TweetAnaанализ-WindowingExpr.usql в примере проекта Visual Studio. Это финиш!

Теперь вы полностью освоили Azure Data Lake: от подготовки ADLS и ADLA до использования портала Azure U-SQL. инструментов, работая с ADL Tools for Visual Studio, с кодом U-SQL и C# и даже интегрируя данные в Мощность БИ.

Этот опыт будет очень интуитивно понятен разработчикам .NET и SQL Server. А тот факт, что они используют Hadoop и YARN под капотом? Сейчас это просто деталь реализации.