Руководство, часть 1. Прием данных в озеро Microsoft Fabric с помощью Apache Spark
В этом руководстве вы будете прием данных в Fabric lakehouses в разностном формате озера. Некоторые важные термины для понимания:
Lakehouse . Lakehouse — это коллекция файлов, папок и таблиц, представляющих базу данных по озеру данных, используемому подсистемой Spark и подсистемой SQL для обработки больших данных, и которая включает расширенные возможности для транзакций ACID при использовании таблиц с форматированными таблицами с открытым исходным кодом.
Delta Lake — Delta Lake — это слой хранения с открытым исходным кодом, который обеспечивает транзакции ACID, масштабируемое управление метаданными и пакетную и потоковую обработку данных в Apache Spark. Таблица Delta Lake — это формат таблицы данных, который расширяет файлы данных Parquet с помощью журнала транзакций на основе файлов для транзакций ACID и масштабируемого управления метаданными.
Открытые наборы данных Azure курируют общедоступные наборы данных, которые можно использовать для добавления функций для конкретных сценариев в решения машинного обучения для более точных моделей. Открытые наборы данных находятся в облаке служба хранилища Microsoft Azure и могут быть доступны различными методами, включая Apache Spark, REST API, фабрику данных и другие средства.
В этом руководстве вы используете Apache Spark для:
- Чтение данных из контейнеров Открытых наборов данных Azure.
- Запись данных в разностную таблицу Fabric lakehouse.
Необходимые компоненты
Получение подписки Microsoft Fabric. Или зарегистрируйте бесплатную пробную версию Microsoft Fabric.
Войдите в Microsoft Fabric.
Используйте переключатель интерфейса в левой части домашней страницы, чтобы перейти на интерфейс Synapse Обработка и анализ данных.
- Добавьте lakehouse в эту записную книжку. Вы будете скачивание данных из общедоступного большого двоичного объекта, а затем хранение данных в lakehouse.
Следуйте инструкциям в записной книжке
1-ingest-data.ipynb — это записная книжка, сопровождающая это руководство.
Чтобы открыть сопровождающую записную книжку для этого руководства, следуйте инструкциям в статье "Подготовка системы для обработки и анализа данных", чтобы импортировать записную книжку в рабочую область.
Если вы хотите скопировать и вставить код на этой странице, можно создать новую записную книжку.
Перед запуском кода обязательно подключите lakehouse к записной книжке .
Данные об оттоке банка
Набор данных содержит состояние оттока 10 000 клиентов. Он также включает атрибуты, которые могут повлиять на отток, например:
- Кредитная оценка
- Географическое расположение (Германия, Франция, Испания)
- Пол (мужчина, женщина)
- Возраст
- Срок пребывания (годы клиента банка)
- Остаток на счете
- Оценочная зарплата
- Количество продуктов, приобретенных клиентом через банк
- Статус кредитной карта (имеет ли клиент кредитную карта или нет)
- Статус активного участника (независимо от того, является ли клиент активного банка или нет)
Набор данных также включает такие столбцы, как номер строки, идентификатор клиента и фамилия клиента, которые не должны влиять на решение клиента покинуть банк.
Событие, определяющее отток клиента, является закрытие банковского счета клиента. Столбец exited
в наборе данных относится к отказу клиента. Нет большого контекста об этих атрибутах, поэтому вам нужно продолжать работу без получения фоновой информации о наборе данных. Цель состоит в том, чтобы понять, как эти атрибуты способствуют состоянию exited
.
Примеры строк из набора данных:
"CustomerID" | "Фамилия" | "CreditScore" | "Geography" | "Пол" | "Возраст" | "Срок пребывания в должности" | "Баланс" | NumOfProducts | HasCrCard | IsActiveMember | "EstimatedSalary" | "Выход" |
---|---|---|---|---|---|---|---|---|---|---|---|---|
15634602 | Харграв | 619 | Франция | Женский | 42 | 2 | 0.00 | 1 | 1 | 1 | 101348.88 | 1 |
15647311 | Холме | 608 | Испания | Женский | 41 | 1 | 83807.86 | 1 | 0 | 1 | 112542.58 | 0 |
Скачивание набора данных и отправка в Lakehouse
Совет
Определив следующие параметры, эту записную книжку можно легко использовать с различными наборами данных.
IS_CUSTOM_DATA = False # if TRUE, dataset has to be uploaded manually
DATA_ROOT = "/lakehouse/default"
DATA_FOLDER = "Files/churn" # folder with data files
DATA_FILE = "churn.csv" # data file name
Этот код скачивает общедоступную версию набора данных, а затем сохраняет ее в Fabric lakehouse.
Важно!
Перед запуском записной книжки убедитесь, что вы добавите lakehouse в записную книжку. В противном случае произойдет сбой.
import os, requests
if not IS_CUSTOM_DATA:
# Download demo data files into lakehouse if not exist
remote_url = "https://synapseaisolutionsa.blob.core.windows.net/public/bankcustomerchurn"
file_list = [DATA_FILE]
download_path = f"{DATA_ROOT}/{DATA_FOLDER}/raw"
if not os.path.exists("/lakehouse/default"):
raise FileNotFoundError(
"Default lakehouse not found, please add a lakehouse and restart the session."
)
os.makedirs(download_path, exist_ok=True)
for fname in file_list:
if not os.path.exists(f"{download_path}/{fname}"):
r = requests.get(f"{remote_url}/{fname}", timeout=30)
with open(f"{download_path}/{fname}", "wb") as f:
f.write(r.content)
print("Downloaded demo data files into lakehouse.")
Связанный контент
Вы будете использовать только что используемые данные: