Carregar dados para exploração

Concluído

Carregar e explorar dados são as primeiras etapas em qualquer projeto de ciência de dados. Elas envolvem entender a estrutura, o conteúdo e a fonte dos dados, que são cruciais para a análise subsequente.

Depois de se conectar a uma fonte de dados, você pode salvar os dados em um Lakehouse do Microsoft Fabric. Você pode usar o lakehouse como um local central para armazenar arquivos estruturados, semiestruturados e não estruturados. Em seguida, você pode se conectar facilmente ao lakehouse sempre que quiser acessar seus dados para exploração ou transformação.

Carregar dados usando notebooks

Os notebooks no Microsoft Fabric facilitam o processo de manipulação de seus ativos de dados. Depois que os ativos de dados estiverem localizados no lakehouse, você poderá gerar facilmente o código no notebook para ingerir esses ativos.

Considere um cenário em que um engenheiro de dados já transformou os dados do cliente e os armazenou no lakehouse. Um cientista de dados pode carregar facilmente os dados usando notebooks para exploração adicional para criar um modelo de machine learning. Isso permite que o trabalho comece imediatamente, quer isso envolva manipulações de dados adicionais, análise de dados exploratórias ou desenvolvimento de modelos.

Vamos criar um arquivo parquet de exemplo para ilustrar a operação de carga. O código PySpark a seguir cria um dataframe de dados do cliente e os grava em um arquivo Parquet no lakehouse.

O Apache Parquet é um formato de armazenamento de dados orientado a colunas de código aberto. Ele foi projetado para armazenamento e recuperação de dados eficientes e é conhecido por seu alto desempenho e compatibilidade com muitas estruturas de processamento de dados.

from pyspark.sql import Row

Customer = Row("firstName", "lastName", "email", "loyaltyPoints")

customer_1 = Customer('John', 'Smith', 'john.smith@contoso.com', 15)
customer_2 = Customer('Anna', 'Miller', 'anna.miller@contoso.com', 65)
customer_3 = Customer('Sam', 'Walters', 'sam@contoso.com', 6)
customer_4 = Customer('Mark', 'Duffy', 'mark@contoso.com', 78)

customers = [customer_1, customer_2, customer_3, customer_4]
df = spark.createDataFrame(customers)

df.write.parquet("<path>/customers")

Para gerar o caminho para o arquivo Parquet, selecione as reticências no gerenciador do lakehouse e escolha o Copiar o caminho do ABFS ou Copiar caminho relativo do Spark. Se estiver escrevendo código Python, você poderá usar a opção Copiar API de Arquivo ou Copiar caminho do ABFS.

Screenshot of the copy path options on the lakehouse explorer.

O código a seguir carrega o arquivo parquet em um DataFrame.

df = spark.read.parquet("<path>/customers")

display(df)

Como alternativa, você também pode gerar o código para carregar os dados no notebook automaticamente. Escolha o arquivo de dados e selecione Carregar dados. Depois disso, você precisará escolher a API que deseja usar.

Embora o arquivo parquet no exemplo anterior seja armazenado no lakehouse, também é possível carregar dados de fontes externas, como o Armazenamento de Blobs do Azure.

account_name = "<account_name>"
container_name = "<container_name>"
relative_path = "<relative_path>"
sas_token = "<sas_token>" 

wasbs = f'wasbs://{blob_container_name}@{blob_account_name}.blob.core.windows.net/{blob_relative_path}?{blob_sas_token}'

df = spark.read.parquet(wasbs)
df.show()

Você pode seguir etapas semelhantes para carregar outros tipos de arquivo, como os arquivos .csv, .json e .txt. Basta substituir o método .parquet pelo método apropriado para o tipo de arquivo, por exemplo:

# For CSV files
df_csv = spark.read.csv('<path>')

# For JSON files
df_json = spark.read.json('<path>')

# For text files
df_text = spark.read.text('<path>')