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


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

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

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

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

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

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

  1. На боковой панели выберите "Создать" и "Поток данных 2-го поколения", чтобы создать новый поток данных 2-го поколения. Screenshot showing the Fabric Create page with the Dataflow Gen2 button highlighted.

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

    Screenshot showing the Dataflow menu with Get data button highlighted and the More... option highlighted from its menu.

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

    Screenshot showing the selection of the Lakehouse data source from the Choose data source menu.

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

    Screenshot showing the configuration of the data source settings for your new Lakehouse with your current signed in user, and the Next button selected.

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

    Screenshot showing the Lakehouse browser with the workspace, lakehouse, and table created with the Copy activity in module 1.

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

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

    Screenshot showing the column options selection for your data.

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

  1. Щелкните значок типа данных в заголовке столбца второго столбца IpepPickupDatetime, чтобы отобразить раскрывающееся меню и выбрать тип данных из меню, чтобы преобразовать столбец из типа даты и времени в date . Screenshot showing the selection of the Date data type for the IpepPickupDatetime column.

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

    Screenshot showing the Choose columns button on the Home tab of the dataflow editor.

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

    • lpepDropoffDatetime
    • puLocationId
    • doLocationId
    • pickupLatitude
    • dropoffLongitude
    • rateCodeID

    Screenshot showing the Choose columns dialog with the identified columns deselected.

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

    Screenshot showing the filter and sort dialog for the column.

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

    Screenshot showing the values filter with only 'Y' selected.

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

    Screenshot showing the selection of the Date filters option in the column sort and format dropdown.

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

    Screenshot showing the selection of the dates in January 2015.

Подключение в CSV-файл, содержащий данные скидки

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

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

    Screenshot showing the selection of the Get data menu from the Home tab, with Text/CSV highlighted.

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

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

    Затем выберите Далее.

    Screenshot showing the Text/CSV settings for the connection.

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

    Screenshot showing the Preview file data dialog with the Create button highlighted.

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

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

    Screenshot showing the selection of the Use first row as headers option from the table context menu.

    Примечание.

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

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

    Screenshot showing the context menu for the VendorID column with the Unpivot other columns selection highlighted.

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

    Screenshot showing the table columns after renaming Attribute to Date and Value to Discount.

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

    Screenshot showing the selection of the Date data type for the Date column.

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

    Screenshot showing the selection of the Divide option to transform data in the Discount column.

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

    Screenshot showing the Divide dialog with the value 100 entered and the OK button highlighted.

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

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

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

    Screenshot showing the Diagram view toggle button with both queries created in this tutorial displayed.

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

    Screenshot showing the Merge queries as new selection for the nyc_taxi query.

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

    Screenshot showing the configuration of the Merge dialog with suggested column mappings displayed.

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

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

    Screenshot showing the request to approve combining data from multiple data sources, with the OK button highlighted.

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

    Screenshot showing the warning about combining data from multiple data sources with the Continue button highlighted.

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

    Screenshot showing the merged query with the column selection menu displayed for the newly generated column Generated-NYC-Taxi-Green-Discounts.

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

    Screenshot showing the Add custom column button highlighted on the General section of the Add column tab.

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

    if [totalAmount] > 0, то [totalAmount] * ( 1 -[скидка] ) else [totalAmount]

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

    Screenshot showing the Custom column configuration screen with the New column name, Data type and Custom column formula highlighted.

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

    Screenshot showing the Round... option on the Transform tab of the editor window.

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

    Screenshot showing the Round dialog with 2 for the number of decimal places and the OK button highlighted.

  11. Измените тип данных ipepPickupDatetime с даты и времени.

    Screenshot showing the selection of the Date/Time data type for the IpepPickupDatetime column.

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

    Screenshot showing the renaming of the query from Merge to Output.

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

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

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

    Screenshot showing the Add data destination button with Lakehouse highlighted.

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

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

    Screenshot showing the Choose destination target dialog with Table name nyc_taxi_with_discounts.

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

    Screenshot showing the Choose destination settings dialog with the Save settings button highlighted.

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

    Важно!

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

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

    Screenshot showing the Properties option selected on the menu for a dataflow where it can be renamed.

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

    Screenshot showing the selection of the refresh button to refresh the dataflow.

  8. Проверьте lakehouse, чтобы просмотреть новую таблицу, загруженную там.

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

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

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