Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tutorial ingere dados em Fabric lakehouses no formato Delta Lake. Definimos alguns termos importantes aqui:
Lakehouse – A lakehouse é uma coleção de arquivos, pastas e/ou tabelas que representam um banco de dados em um data lake. O mecanismo spark e o mecanismo SQL usam recursos lakehouse para processamento de Big Data. Quando você usa tabelas formatadas em Delta de software livre, esse processamento inclui recursos avançados de transação ACID.
Delta Lake – Delta Lake é uma camada de armazenamento de software livre que traz transações ACID, gerenciamento de metadados escalonáveis e processamento de dados em lote e streaming para o Apache Spark. Como formato de tabela de dados, o Delta Lake amplia os arquivos de dados Parquet ao adicionar um log de transações baseado em arquivo, para dar suporte a transações ACID e ao gerenciamento escalonável de metadados.
Azure Open Datasets são conjuntos de dados públicos coletados que adicionam recursos específicos do cenário a soluções de machine learning. Isso leva a modelos mais precisos. Conjuntos de dados abertos são recursos de nuvem que residem no Microsoft Armazenamento do Azure. Apache Spark, API REST, Data factory e outras ferramentas podem acessar conjuntos de dados abertos.
Neste tutorial, você usará o Apache Spark para:
- Leia os dados dos contêineres do Azure Open Datasets.
- Escreva dados em uma tabela delta Fabric lakehouse.
Pré-requisitos
Obtenha uma assinatura Microsoft Fabric. Ou inscreva-se para uma avaliação gratuita Microsoft Fabric.
Conecte-se ao Microsoft Fabric.
Alterne para Fabric usando o seletor de experiência no canto inferior esquerdo da página inicial.
- Adicionar um lakehouse a este notebook. Neste tutorial, primeiro você baixa dados de um blob público. Em seguida, os dados são armazenados nesse recurso conhecido como lakehouse.
Observação
Antes de começar, conclua as etapas Prepare seu sistema: criar uma área de trabalho, criar um lakehouse e anexá-lo ao notebook. Os dados de exemplo usados neste tutorial são provenientes de um contêiner público Azure Open Datasets e são acessados programaticamente no código do notebook.
Acompanhe em um caderno de anotações
O notebook 1-ingest-data.ipynb acompanha este tutorial.
Para abrir o bloco de anotações que acompanha este tutorial, siga as instruções em Preparar seu sistema para tutoriais de ciência de dados para importar o bloco de anotações para seu espaço de trabalho.
Se você prefere copiar e colar o código desta página, pode criar um notebook.
Certifique-se de anexar um lakehouse ao notebook antes de começar a executar o código.
Dica
Este tutorial lê dados de exemplo de um contêiner de Azure Open Datasets. Se você encontrar um erro de acesso ao carregar os dados, poderá baixar manualmente o arquivo churn.csv do repositório GitHub fabric-samples e carregá-lo no seu lakehouse.
Dados de rotatividade de clientes bancários
O conjunto de dados contém informações de status de rotatividade para 10.000 clientes. Ele também inclui atributos que podem influenciar a variação, por exemplo:
- Pontuação de crédito
- Localização geográfica (Alemanha, França, Espanha)
- Gênero (masculino, feminino)
- Idade
- Posse (o número de anos em que o cliente era cliente naquele banco)
- Saldo da conta
- Salário estimado
- Número de produtos que um cliente comprou por meio do banco
- Status do cartão de crédito (se um cliente tem ou não um cartão de crédito)
- Status do membro ativo (se o cliente tem ou não um status de cliente do banco ativo)
O conjunto de dados também inclui estas colunas:
- número de linha
- ID do cliente
- sobrenome do cliente
Essas colunas não devem ter influência sobre a decisão de um cliente de deixar o banco.
O fechamento de uma conta bancária do cliente define a variação desse cliente. A coluna do conjunto exited de dados refere-se ao abandono do cliente. Pouco contexto sobre esses atributos está disponível, portanto, você deve continuar sem informações em segundo plano sobre o conjunto de dados. Nosso objetivo é entender como esses atributos contribuem para o exited status.
Linhas de conjunto de dados de exemplo:
| "CustomerID" | "Sobrenome" | "CreditScore" | "Geografia" | "Gênero" | "Idade" | Permanência | Equilíbrio | NúmeroDeProdutos | "HasCrCard" | "IsActiveMember" | Salário Estimado | "Saídas" |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 15634602 | Hargrave | 619 | França | Fêmea | 42 | 2 | 0,00 | 1 | 1 | 1 | 101348.88 | 1 |
| 15647311 | Colina | 608 | Espanha | Fêmea | 41 | 1 | 83807.86 | 1 | 0 | 1 | 112542.58 | 0 |
Baixar o conjunto de dados e carregar no lakehouse
Dica
Ao definir os seguintes parâmetros, você pode usar facilmente este notebook com conjuntos de dados diferentes:
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
O snippet de código a seguir baixa uma versão disponível publicamente do conjunto de dados e armazena esse recurso em um Fabric lakehouse:
Importante
Certifique-se de adicionar um lakehouse ao notebook antes de executá-lo. Falha ao fazer isso resulta em um erro.
import os, requests
if not IS_CUSTOM_DATA:
# Download demo data files into lakehouse if not exist
remote_url = "https://synapseaisolutionsa.z13.web.core.windows.net/data/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.")
Conteúdo relacionado
Use os dados que acabou de ingerir em: