Compartilhar via


Transformar dados com Apache Spark e consultar com SQL

Neste guia, você vai:

  • Carregue dados no OneLake com o explorador de arquivos do OneLake.

  • Use um notebook do Fabric para ler dados no OneLake e fazer write-back como uma tabela Delta.

  • Analisar e transformar dados com o Spark usando um notebook do Fabric.

  • Consultar uma cópia de dados no OneLake com SQL.

Pré-requisitos

Antes de começar, faça o seguinte:

  • Baixe e instale o explorador de arquivos do OneLake.

  • Crie um workspace com um item do Lakehouse.

  • Baixe o conjunto de dados WideWorldImportersDW. Você pode usar o Gerenciador de Armazenamento do Microsoft Azure para se conectar a https://fabrictutorialdata.blob.core.windows.net/sampledata/WideWorldImportersDW/csv/full/dimension_city e baixar o conjunto de arquivos csv. Ou você pode usar seus próprios dados csv e atualizar os detalhes conforme necessário.

Observação

Sempre crie, carregue ou crie um atalho para os dados Delta-Parquet diretamente na seção Tabelas do Lakehouse. Não aninhe as tabelas em subpastas na seção Tabelas, pois o lakehouse não as reconhecerá como tabelas e as rotulará como Não Identificadas.

Carregar, ler, analisar e consultar dados

  1. No explorador de arquivos do OneLake, navegue até o lakehouse e, no diretório /Files, crie um subdiretório chamado dimension_city.

    Captura de tela da nova pasta criada no explorador de arquivos do OneLake.

  2. Copie seus arquivos csv de amostra para o diretório /Files/dimension_city usando o explorador de arquivos do OneLake.

    Captura de tela da cópia de arquivos para o OneLake no explorador de arquivos.

  3. Navegue até o lakehouse no serviço do Power BI e exiba seus arquivos.

    Captura de tela da visualização de arquivos no lakehouse no Fabric.

  4. Selecione Abrir notebook e, em seguida , Novo notebook para criar um notebook.

    Captura de tela da criação de um novo notebook no Fabric.

  5. Usando o notebook do Fabric, converta os arquivos CSV para o formato Delta. O snippet de código a seguir lê dados do diretório /Files/dimension_city criado pelo usuário e os converte em uma tabela Delta dim_city.

    import os
    from pyspark.sql.types import *
    for filename in os.listdir("/lakehouse/default/Files/<replace with your folder path>"):
    df=spark.read.format('csv').options(header="true",inferSchema="true").load("abfss://<replace with workspace name>@onelake.dfs.fabric.microsoft.com/<replace with item name>.Lakehouse/Files/<folder name>/"+filename,on_bad_lines="skip")
    df.write.mode("overwrite").format("delta").save("Tables/<name of delta table>")
    
  6. Para ver sua nova tabela, atualize sua exibição do diretório /Tables.

    Captura de tela da mesa de exibição em um lakehouse no Fabric.

  7. Consulte sua tabela com SparkSQL no mesmo notebook do Fabric.

    %%sql
    SELECT * from <replace with item name>.dim_city LIMIT 10;
    
  8. Modifique a tabela Delta adicionando uma nova coluna chamada newColumn com um inteiro de tipo de dados. Defina o valor de 9 para todos os registros dessa coluna recém-adicionada.

    %%sql
    
    ALTER TABLE <replace with item name>.dim_city ADD COLUMN newColumn int;
    
    UPDATE <replace with item name>.dim_city SET newColumn = 9;
    
    SELECT City,newColumn FROM <replace with item name>.dim_city LIMIT 10;
    
  9. Você também pode acessar qualquer tabela Delta no OneLake por meio de um ponto de extremidade de análise do SQL. Um ponto de extremidade de análise do SQL faz referência à mesma cópia física da tabela Delta no OneLake e oferece a experiência T-SQL. Selecione o ponto de extremidade de análise do SQL para lakehouse1 e, em seguida, selecione Nova Consulta SQL para consultar a tabela usando T-SQL.

    SELECT TOP (100) * FROM [<replace with item name>].[dbo].[dim_city];