Поделиться через


Модуль 2. Преобразование данных с помощью потока данных в фабрике данных

Этот модуль занимает около 25 минут, чтобы создать поток данных, применить преобразования и переместить необработанные данные из таблицы Bronze в таблицу Gold Lakehouse.

С помощью необработанных данных, загруженных в таблицу Bronze Lakehouse из последнего модуля, вы можете подготовить эти данные и обогатить их, объединяя их с другой таблицей, содержащей скидки для каждого поставщика и их поездки в течение определенного дня. Эта окончательная таблица Gold Lakehouse загружается и готова к использованию.

Ниже приведены шаги высокого уровня в потоке данных.

  • Получение необработанных данных из таблицы Lakehouse, созданной действием копирования в модуле 1. Создание конвейера с помощью фабрики данных.
  • Преобразование данных, импортированных из таблицы Lakehouse.
  • Подключитесь к CSV-файлу с данными о скидках.
  • Преобразуйте данные скидок.
  • Объединение данных о поездках и скидках.
  • Загрузите выходной запрос в таблицу Gold Lakehouse.

Получение данных из таблицы Lakehouse

  1. На боковой панели выберите рабочую область, выберите Новый элемент, а затем Dataflow Gen2, чтобы создать новый Dataflow Gen2. снимок экрана: страница

  2. В новом меню потока данных выберите Получить данные, а затем Еще....

    Снимок экрана, показывающий меню потока данных с выделенной кнопкой

  3. Найдите и выберите соединитель Lakehouse.

    снимок экрана: выбор источника данных Lakehouse в меню

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

    снимок экрана, показывающий конфигурацию параметров источника данных для нового Lakehouse с текущим пользователем, вошедшим в систему, и выбрана кнопка

  5. Откроется диалоговое окно Выбор данных. Используйте панель навигации, чтобы найти Lakehouse, созданную для назначения в предыдущем модуле, и выберите таблицу данных Tutorial_Lakehouse.

    Скриншот, показывающий браузер Lakehouse с рабочей областью, lakehouse и таблицей, созданной с помощью действия

  6. (необязательно) После заполнения холста данными можно задать информацию о профиле столбцов, что удобно для профилирования данных. Вы можете применить правильное преобразование и на его основе определить правильные значения данных.

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

    снимок экрана: выбор параметров столбца для данных.

Преобразование данных, импортированных из Lakehouse

  1. Выберите значок типа данных в заголовке второго столбца IpepPickupDatetime, чтобы открыть раскрывающееся меню. Затем выберите тип данных из меню, чтобы преобразовать столбец из типа Дата/Время в тип Дата. Снимок экрана: выбор типа данных Date для столбца IpepPickupDatetime.

  2. (необязательно) На вкладке Главная ленты выберите параметр Выбрать столбцы из группы Управление столбцами.

    снимок экрана с кнопкой

  3. (необязательно) в диалоговом окне Выбор столбцов, отмените выбор некоторых столбцов, перечисленных здесь, а затем нажмите кнопку ОК.

    • lpepDropoffDatetime
    • puLocationId
    • doLocationId
    • pickupLatitude
    • долгота_места_высадки
    • rateCodeID

    снимок экрана: диалоговое окно

  4. Выберите фильтр и раскрывающееся меню сортировки столбца storeAndFwdFlag. (Если отображается предупреждение список может быть неполным, выберите Загрузить больше, чтобы просмотреть все данные.)

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

  5. Выберите "Y", чтобы отобразить только строки, в которых была применена скидка, а затем нажмите кнопку ОК.

    Снимок экрана, показывающий фильтр значений с единственным выбранным параметром

  6. Выберите раскрывающееся меню сортировки и фильтрации столбца IpepPickupDatetime, затем выберите фильтры датыи выберите фильтр Между..., предоставленный для типов Дата и Дата/Время.

    снимок экрана, показывающий выбор параметра

  7. В диалоговом окне Фильтрация строк выберите даты между 1 января 2015 г. и 31 января 2015 г., а затем нажмите кнопку ОК.

    снимок экрана, показывающий выбор дат в январе 2015 года.

Подключитесь к CSV-файлу, содержащему данные о скидках

Теперь, имея данные о поездках, мы хотим загрузить информацию, содержащую соответствующие скидки для каждого дня и VendorID, и подготовить эту информацию перед ее объединением с данными о поездках.

  1. На вкладке "Главная" в меню редактора потоков данных выберите параметр "Получить данные", а затем выберите text/CSV.

    Скриншот, демонстрирующий выбор меню

  2. В диалоговом окне Подключение к источнику данных укажите следующие сведения:

    • пути к файлу или URL-адресу - https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv
    • тип проверки подлинности — анонимный

    Затем выберите Next.

    снимок экрана с параметрами text/CSV для подключения.

  3. В диалоговом окне предварительного просмотра данных файла выберите Создать.

    снимок экрана: диалоговое окно

Преобразование данных скидки

  1. При просмотре данных, мы видим, что заголовки отображаются в первой строке. Повысьте их до заголовков, выбрав контекстное меню таблицы в левом верхнем углу области сетки предварительного просмотра, чтобы выбрать Использовать первую строку в качестве заголовков.

    снимок экрана: выбор параметра

    Заметка

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

  2. Щелкните правой кнопкой мыши на столбец VendorID и в появившемся контекстном меню выберите пункт Преобразовать другие столбцы. Это позволяет преобразовать столбцы в пары "атрибут-значение", где столбцы становятся строками.

    снимок экрана, показывающий контекстное меню столбца VendorID с выделенной кнопкой

  3. Когда таблица развернута, переименуйте столбцы Атрибут и Значение, дважды щелкнув по ним и изменив Атрибут на Дата и Значение на Скидка.

    снимок экрана со столбцами таблицы после переименования атрибута на дату и значение на скидку.

  4. Измените тип данных столбца Date, выбрав меню типа данных слева от имени столбца и выбрав date.

    снимок экрана, показывающий выбор типа данных Date для столбца Date.

  5. Выберите столбец скидки, а затем перейдите на вкладку преобразования. Выберите столбец номеров , а затем выберите стандартные числовые преобразования из подменю и выберите Разделить .

    снимок экрана: выбор параметра

  6. В диалоговом окне Деление введите значение 100.

    снимок экрана: диалоговое окно

Объединение данных о поездках и скидках

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

  1. Сначала переключите представление диаграммы , чтобы просмотреть оба запроса.

    Снимок экрана, показывающий кнопку переключения представления диаграммы с созданными в этом руководстве запросами.

  2. Выберите запрос nyc_taxi и на вкладке Главная выберите меню Объединение и выберите Объединить запросы, а затем Объединить запросы как новые.

    снимок экрана: запросы слияния отображаются в качестве нового выбора для запроса nyc_taxi.

  3. В диалоговом окне Слияние выберите Созданные NYC-Taxi-Green-Discounts в раскрывающемся списке Правая таблица для слияния, а затем щелкните значок "лампочка" в правом верхнем углу диалогового окна, чтобы увидеть предлагаемое сопоставление столбцов между двумя таблицами.

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

    Выберите каждое из двух предлагаемых сопоставлений столбцов, по одному за раз, сопоставляя Идентификатор поставщика и столбцы даты из обеих таблиц. При добавлении обоих сопоставлений в каждой таблице выделены соответствующие заголовки столбцов.

  4. Отображается сообщение с запросом на объединение данных из нескольких источников данных для просмотра результатов. Нажмите ОК в диалоговом окне Слияние.

    снимок экрана: запрос на утверждение объединения данных из нескольких источников данных с выделенной кнопкой

  5. В области таблицы вы сначала увидите предупреждение: «Оценка отменена, так как объединение данных из нескольких источников может раскрыть данные из одного источника другому». Выберите «Продолжить», если вас устраивает возможность раскрытия данных. Выберите Продолжить, чтобы отобразить объединенные данные.

    снимок экрана: предупреждение об объединении данных из нескольких источников данных с выделенной кнопкой

  6. Обратите внимание, как в представлении диаграммы был создан новый запрос, показывающий связь нового запроса объединения с двумя ранее созданными запросами. Просматривая область таблицы редактора, прокрутите страницу справа от списка столбцов запроса слияния, чтобы увидеть новый столбец со значениями таблицы. Это столбец "Generated NYC Taxi-Green-Discounts", и его тип - [Таблица]. В заголовке столбца есть значок со двумя стрелками в противоположных направлениях, что позволяет выбирать столбцы из таблицы. Отмените выбор всех столбцов, кроме скидки, а затем нажмите кнопку ОК.

    снимок экрана: объединенный запрос с меню выбора столбца, отображаемого для только что созданного столбца Generated-NYC-Taxi-Green-Discounts.

  7. При значении скидки теперь на уровне строки можно создать новый столбец, чтобы вычислить общую сумму после скидки. Для этого выберите вкладку Добавить столбец в верхней части редактора и выберите Настраиваемый столбец из группы "Общие".

    скриншот, показывающий, что кнопка

  8. В диалоговом окне Настраиваемый столбец, можно использовать язык формул Power Query (также известный как M), чтобы определить способ вычисления нового столбца. Введите TotalAfterDiscount для имени нового столбца , выберите валюта для типа данных и укажите следующее выражение M для формулы пользовательского столбца .

    , если [totalAmount] > 0, то [totalAmount] * ( 1 -[Скидка] ) иначе [totalAmount]

    Затем нажмите кнопку ОК.

    снимок экрана: экран настройки настраиваемого столбца с выделенным именем нового столбца, типом данных и формулой настраиваемого столбца.

  9. Выберите недавно созданный столбец TotalAfterDiscount, а затем выберите вкладку Transform в верхней части окна редактора. В группе числовой столбец выберите раскрывающийся список округления и выберите Раунд....

    снимок экрана, показывающий параметр 'Округлить...' на вкладке

  10. В диалоговом окне раундавведите 2 для числа десятичных разрядов, а затем нажмите кнопку ОК.

    снимок экрана: диалоговое окно

  11. Измените тип данных IpepPickupDatetime с Date на Date/Time.

    снимок экрана, показывающий выбор типа данных даты и времени для столбца IpepPickupDatetime.

  12. Наконец, разверните панель параметров запроса с правой стороны редактора, если она еще не развернута, и переименуйте запрос из Слияние в Output.

    снимок экрана, на котором показано переименование запроса из

Загрузка выходного запроса в таблицу в Lakehouse

После полной подготовки и готовности к выводу выходных данных можно определить назначение выходных данных для запроса.

  1. Выберите созданный ранее запрос на слияние выходных данных. Затем выберите вкладку Главная в редакторе и Добавить назначение данных в группировке Запрос, чтобы выбрать назначение Lakehouse.

    снимок экрана, показывающий кнопку

  2. В диалоговом окне Подключение к назначению данных подключение уже должно быть выбрано. Выберите Далее, чтобы продолжить.

  3. В диалоговом окне Выбор целевого объекта перейдите в Lakehouse, где вы хотите загрузить данные и назовите новую таблицу nyc_taxi_with_discounts, затем снова нажмите кнопку Далее.

    снимок экрана: диалоговое окно выбора целевого объекта с именем таблицы nyc_taxi_with_discounts.

  4. В диалоговом окне Выбор параметров назначения оставьте метод обновления Заменить по умолчанию, еще раз проверьте правильность сопоставления столбцов и выберите Сохранить параметры.

    снимок экрана: диалоговое окно

  5. Вернувшись в главное окно редактора, убедитесь, что видите ваше место назначения вывода в панели параметров запроса для таблицы Output, а затем выберите Опубликовать.

    Важный

    При создании первого Dataflow Gen2 в рабочей области элементы Lakehouse и Warehouse подготавливаются вместе с соответствующими конечными точками аналитики SQL и семантической моделью. Эти элементы разделяются всеми потоками данных в рабочей области и требуются для работы потока данных 2-го поколения, не следует удалять и не предназначены для непосредственного использования пользователями. Эти компоненты — это детали реализации Dataflow Gen2. Элементы не видны в рабочей среде, но могут быть доступны в других интерфейсах, таких как записная книжка, конечная точка SQL, Lakehouse и Warehouse. Элементы можно распознать по их префиксу в имени. Префикс элементов — DataflowsStaging.

  6. (необязательно) На странице рабочей области можно переименовать поток данных, выбрав многоточие справа от имени потока данных, которое отображается после выбора строки, и выбрав Свойства.

    снимок экрана с параметром

  7. Щелкните значок обновления для потока данных после выбора его строки, и после завершения вы увидите новую таблицу Lakehouse, созданную в соответствии с параметрами в настройках назначения данных .

    снимок экрана: выбор кнопки обновления для обновления потока данных.

  8. Проверьте Lakehouse, чтобы увидеть новую таблицу, загруженную туда.

Во втором модуле нашего пошагового руководства по первой интеграции данных с использованием Data Factory в Microsoft Fabric вы узнали, как:

  • Создайте поток данных 2-го поколения.
  • Импорт и преобразование примеров данных.
  • Импорт и преобразование текстовых и CSV-данных.
  • Слияние данных из обоих источников данных в новый запрос.
  • Преобразование данных и создание новых столбцов в запросе.
  • Настройте источник назначения выходных данных для запроса.
  • Переименуйте и обновите новый поток данных.

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