Модуль 2. Преобразование данных с помощью потока данных в фабрике данных
Этот модуль занимает около 25 минут, чтобы создать поток данных, применить преобразования и переместить необработанные данные из таблицы Bronze в таблицу Gold Lakehouse.
С помощью необработанных данных, загруженных в таблицу Bronze Lakehouse из последнего модуля, вы можете подготовить эти данные и обогатить их, объединяя их с другой таблицей, содержащей скидки для каждого поставщика и их поездки в течение определенного дня. Эта окончательная таблица Gold Lakehouse загружается и готова к использованию.
Ниже приведены шаги высокого уровня в потоке данных.
- Получение необработанных данных из таблицы Lakehouse, созданной действием копирования в модуле 1. Создание конвейера с помощью фабрики данных.
- Преобразование данных, импортированных из таблицы Lakehouse.
- Подключитесь к CSV-файлу с данными о скидках.
- Преобразуйте данные скидок.
- Объединение данных о поездках и скидках.
- Загрузите выходной запрос в таблицу Gold Lakehouse.
Получение данных из таблицы Lakehouse
На боковой панели выберите рабочую область, выберите Новый элемент, а затем Dataflow Gen2, чтобы создать новый Dataflow Gen2.
В новом меню потока данных выберите Получить данные, а затем Еще....
Найдите и выберите соединитель Lakehouse.
Откроется диалоговое окно Подключение к источнику данных, и новое подключение автоматически создается на основе входа текущего пользователя. Выберите Далее.
Откроется диалоговое окно Выбор данных. Используйте панель навигации, чтобы найти Lakehouse, созданную для назначения в предыдущем модуле, и выберите таблицу данных Tutorial_Lakehouse.
(необязательно) После заполнения холста данными можно задать информацию о профиле столбцов, что удобно для профилирования данных. Вы можете применить правильное преобразование и на его основе определить правильные значения данных.
Для этого выберите параметры на панели ленты, затем выберите первые три параметра во вкладке Профиль столбца, и затем выберите ОК.
Преобразование данных, импортированных из Lakehouse
Выберите значок типа данных в заголовке второго столбца IpepPickupDatetime, чтобы открыть раскрывающееся меню. Затем выберите тип данных из меню, чтобы преобразовать столбец из типа Дата/Время в тип Дата.
(необязательно) На вкладке Главная ленты выберите параметр Выбрать столбцы из группы Управление столбцами.
(необязательно) в диалоговом окне Выбор столбцов, отмените выбор некоторых столбцов, перечисленных здесь, а затем нажмите кнопку ОК.
- lpepDropoffDatetime
- puLocationId
- doLocationId
- pickupLatitude
- долгота_места_высадки
- rateCodeID
Выберите фильтр и раскрывающееся меню сортировки столбца storeAndFwdFlag. (Если отображается предупреждение список может быть неполным, выберите Загрузить больше, чтобы просмотреть все данные.)
Выберите "Y", чтобы отобразить только строки, в которых была применена скидка, а затем нажмите кнопку ОК.
Выберите раскрывающееся меню сортировки и фильтрации столбца IpepPickupDatetime, затем выберите фильтры датыи выберите фильтр Между..., предоставленный для типов Дата и Дата/Время.
В диалоговом окне Фильтрация строк выберите даты между 1 января 2015 г. и 31 января 2015 г., а затем нажмите кнопку ОК.
Подключитесь к CSV-файлу, содержащему данные о скидках
Теперь, имея данные о поездках, мы хотим загрузить информацию, содержащую соответствующие скидки для каждого дня и VendorID, и подготовить эту информацию перед ее объединением с данными о поездках.
На вкладке "Главная" в меню редактора потоков данных выберите параметр "Получить данные", а затем выберите text/CSV.
В диалоговом окне Подключение к источнику данных укажите следующие сведения:
-
пути к файлу или URL-адресу -
https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv
- тип проверки подлинности — анонимный
Затем выберите Next.
-
пути к файлу или URL-адресу -
В диалоговом окне предварительного просмотра данных файла выберите Создать.
Преобразование данных скидки
При просмотре данных, мы видим, что заголовки отображаются в первой строке. Повысьте их до заголовков, выбрав контекстное меню таблицы в левом верхнем углу области сетки предварительного просмотра, чтобы выбрать Использовать первую строку в качестве заголовков.
Заметка
После продвижения заголовков вы увидите новый шаг, представленный в области Примененные шаги в верхней части редактора потока данных, относящийся к типам данных ваших столбцов.
Щелкните правой кнопкой мыши на столбец VendorID и в появившемся контекстном меню выберите пункт Преобразовать другие столбцы. Это позволяет преобразовать столбцы в пары "атрибут-значение", где столбцы становятся строками.
Когда таблица развернута, переименуйте столбцы Атрибут и Значение, дважды щелкнув по ним и изменив Атрибут на Дата и Значение на Скидка.
Измените тип данных столбца Date, выбрав меню типа данных слева от имени столбца и выбрав date.
Выберите столбец скидки, а затем перейдите на вкладку преобразования. Выберите столбец номеров , а затем выберите стандартные числовые преобразования из подменю и выберите Разделить .
В диалоговом окне Деление введите значение 100.
Объединение данных о поездках и скидках
Следующим шагом является объединение обеих таблиц в одну таблицу с скидкой, которая должна применяться к поездке, и скорректированный итог.
Сначала переключите представление диаграммы , чтобы просмотреть оба запроса.
Выберите запрос nyc_taxi и на вкладке Главная выберите меню Объединение и выберите Объединить запросы, а затем Объединить запросы как новые.
В диалоговом окне Слияние выберите Созданные NYC-Taxi-Green-Discounts в раскрывающемся списке Правая таблица для слияния, а затем щелкните значок "лампочка" в правом верхнем углу диалогового окна, чтобы увидеть предлагаемое сопоставление столбцов между двумя таблицами.
Выберите каждое из двух предлагаемых сопоставлений столбцов, по одному за раз, сопоставляя Идентификатор поставщика и столбцы даты из обеих таблиц. При добавлении обоих сопоставлений в каждой таблице выделены соответствующие заголовки столбцов.
Отображается сообщение с запросом на объединение данных из нескольких источников данных для просмотра результатов. Нажмите ОК в диалоговом окне Слияние.
В области таблицы вы сначала увидите предупреждение: «Оценка отменена, так как объединение данных из нескольких источников может раскрыть данные из одного источника другому». Выберите «Продолжить», если вас устраивает возможность раскрытия данных. Выберите Продолжить, чтобы отобразить объединенные данные.
Обратите внимание, как в представлении диаграммы был создан новый запрос, показывающий связь нового запроса объединения с двумя ранее созданными запросами. Просматривая область таблицы редактора, прокрутите страницу справа от списка столбцов запроса слияния, чтобы увидеть новый столбец со значениями таблицы. Это столбец "Generated NYC Taxi-Green-Discounts", и его тип - [Таблица]. В заголовке столбца есть значок со двумя стрелками в противоположных направлениях, что позволяет выбирать столбцы из таблицы. Отмените выбор всех столбцов, кроме скидки, а затем нажмите кнопку ОК.
При значении скидки теперь на уровне строки можно создать новый столбец, чтобы вычислить общую сумму после скидки. Для этого выберите вкладку Добавить столбец в верхней части редактора и выберите Настраиваемый столбец из группы "Общие".
В диалоговом окне Настраиваемый столбец, можно использовать язык формул Power Query (также известный как M), чтобы определить способ вычисления нового столбца. Введите TotalAfterDiscount для имени нового столбца , выберите валюта для типа данных и укажите следующее выражение M для формулы пользовательского столбца .
, если [totalAmount] > 0, то [totalAmount] * ( 1 -[Скидка] ) иначе [totalAmount]
Затем нажмите кнопку ОК.
Выберите недавно созданный столбец TotalAfterDiscount, а затем выберите вкладку Transform в верхней части окна редактора. В группе числовой столбец выберите раскрывающийся список округления и выберите Раунд....
В диалоговом окне раундавведите 2 для числа десятичных разрядов, а затем нажмите кнопку ОК.
Измените тип данных IpepPickupDatetime с Date на Date/Time.
Наконец, разверните панель параметров запроса с правой стороны редактора, если она еще не развернута, и переименуйте запрос из Слияние в Output.
Загрузка выходного запроса в таблицу в Lakehouse
После полной подготовки и готовности к выводу выходных данных можно определить назначение выходных данных для запроса.
Выберите созданный ранее запрос на слияние выходных данных. Затем выберите вкладку Главная в редакторе и Добавить назначение данных в группировке Запрос, чтобы выбрать назначение Lakehouse.
В диалоговом окне Подключение к назначению данных подключение уже должно быть выбрано. Выберите Далее, чтобы продолжить.
В диалоговом окне Выбор целевого объекта перейдите в Lakehouse, где вы хотите загрузить данные и назовите новую таблицу nyc_taxi_with_discounts, затем снова нажмите кнопку Далее.
В диалоговом окне Выбор параметров назначения оставьте метод обновления Заменить по умолчанию, еще раз проверьте правильность сопоставления столбцов и выберите Сохранить параметры.
Вернувшись в главное окно редактора, убедитесь, что видите ваше место назначения вывода в панели параметров запроса для таблицы Output, а затем выберите Опубликовать.
Важный
При создании первого Dataflow Gen2 в рабочей области элементы Lakehouse и Warehouse подготавливаются вместе с соответствующими конечными точками аналитики SQL и семантической моделью. Эти элементы разделяются всеми потоками данных в рабочей области и требуются для работы потока данных 2-го поколения, не следует удалять и не предназначены для непосредственного использования пользователями. Эти компоненты — это детали реализации Dataflow Gen2. Элементы не видны в рабочей среде, но могут быть доступны в других интерфейсах, таких как записная книжка, конечная точка SQL, Lakehouse и Warehouse. Элементы можно распознать по их префиксу в имени. Префикс элементов — DataflowsStaging.
(необязательно) На странице рабочей области можно переименовать поток данных, выбрав многоточие справа от имени потока данных, которое отображается после выбора строки, и выбрав Свойства.
Щелкните значок обновления для потока данных после выбора его строки, и после завершения вы увидите новую таблицу Lakehouse, созданную в соответствии с параметрами в настройках назначения данных .
Проверьте Lakehouse, чтобы увидеть новую таблицу, загруженную туда.
Связанное содержимое
Во втором модуле нашего пошагового руководства по первой интеграции данных с использованием Data Factory в Microsoft Fabric вы узнали, как:
- Создайте поток данных 2-го поколения.
- Импорт и преобразование примеров данных.
- Импорт и преобразование текстовых и CSV-данных.
- Слияние данных из обоих источников данных в новый запрос.
- Преобразование данных и создание новых столбцов в запросе.
- Настройте источник назначения выходных данных для запроса.
- Переименуйте и обновите новый поток данных.
Перейдите к следующему разделу, чтобы интегрировать конвейер данных.