Compartilhar via


Obter dados de streaming no lakehouse e acessar com o ponto de extremidade de análise do SQL

Este início rápido explica como criar uma Definição de Trabalho do Spark que contém código Python com o Streaming Estruturado do Spark para obter dados em um lakehouse e, em seguida, servi-los por meio de um ponto de extremidade de análise do SQL. Depois de concluir este início rápido, você terá uma Definição de Trabalho do Spark que é executada continuamente e o ponto de extremidade de análise do SQL pode exibir os dados de entrada.

Executar um script do Python

Use o script Python seguinte para criar uma tabela Delta de streaming em um lakehouse usando o Apache Spark. O script lê um fluxo de dados gerados (uma linha por segundo) e grava-o no modo de acréscimo em uma tabela Delta chamada streamingtable. Ele armazena os dados e as informações de ponto de verificação no lakehouse especificado.

  1. Use o código Python a seguir que usa o streaming estruturado do Spark para obter dados em uma tabela lakehouse.

    from pyspark.sql import SparkSession
    
    if __name__ == "__main__":
     # Start Spark session
     spark = SparkSession.builder \
         .appName("RateStreamToDelta") \
         .getOrCreate()
    
     # Table name used for logging
     tableName = "streamingtable"
    
     # Define Delta Lake storage path
     deltaTablePath = f"Tables/{tableName}"
    
     # Create a streaming DataFrame using the rate source
     df = spark.readStream \
         .format("rate") \
         .option("rowsPerSecond", 1) \
         .load()
    
     # Write the streaming data to Delta
     query = df.writeStream \
         .format("delta") \
         .outputMode("append") \
         .option("path", deltaTablePath) \
         .option("checkpointLocation", f"{deltaTablePath}/_checkpoint") \
         .start()
    
     # Keep the stream running
     query.awaitTermination()
    
  2. Salve o script como arquivo Python (.py) no computador local.

Criar um lakehouse

Use as seguintes etapas para criar um lakehouse:

  1. Entre no portal do Microsoft Fabric.

  2. Navegue até o workspace desejado ou crie um novo, se necessário.

  3. Para criar uma lakehouse, selecione Novo item no workspace e selecione Lakehouse no painel aberto.

    Captura de tela que mostra o novo diálogo do Lakehouse.

  4. Insira o nome do lakehouse e selecione Criar.

Criar uma Definição de Trabalho do Spark

Execute as etapas a seguir para criar uma Definição de Trabalho do Spark:

  1. No mesmo workspace em que você criou uma lakehouse, selecione Novo item.

  2. No painel que é aberto, em Obter dados, selecione Definição de Trabalho do Spark.

  3. Insira o nome da Definição de Trabalho do Spark e selecione Criar.

  4. Selecione Carregar e, então, selecione o arquivo Python que você criou na etapa anterior.

  5. Em Referência do Lakehouse , escolha o lakehouse que você criou.

Definir política de repetição para Definição de Trabalho do Spark

Use as seguintes etapas para definir a política de repetição para sua Definição de Trabalho do Spark:

  1. No menu superior, selecione o ícone Configuração .

    Captura de tela mostrando o ícone de configurações de Definição de Trabalho do Spark.

  2. Abra a guia Otimização e defina o gatilho Política de Repetição como Ativado.

    Captura de tela mostrando a guia Otimização de Definição de Trabalho do Spark.

  3. Defina o máximo de tentativas de repetição ou marcar Permitir tentativas ilimitadas.

  4. Especifique o tempo entre cada tentativa de repetição e selecione Aplicar.

Observação

Há um limite de tempo de vida de 90 dias para a configuração da política de repetição. Depois que a política de repetição estiver habilitada, o trabalho será reiniciado de acordo com a política dentro de 90 dias. Após esse período, a política de repetição deixará de funcionar automaticamente e o trabalho será encerrado. Em seguida, os usuários precisarão reiniciar manualmente o trabalho, o que, por sua vez, reabilitará a política de repetição.

Executar e monitorar a Definição de Trabalho do Spark

  1. No menu superior, selecione o ícone Executar.

    Captura de tela mostrando o ícone de execução da Definição de Trabalho do Spark.

  2. Verifique se a Definição do Trabalho do Spark foi enviada com êxito e em execução.

Exibir dados usando um ponto de extremidade de análise do SQL

Após a execução do script, uma tabela chamada streamingtable com colunas timestamp e valor é criada no lakehouse. Você pode exibir os dados usando o endpoint SQL Analytics:

  1. Na área de trabalho, abra o Lakehouse.

  2. Alterne para o endpoint de análise SQL no canto superior direito.

  3. No painel de navegação à esquerda, expanda Esquemas > dbo >Tabelas e selecione streamingtable para visualizar os dados.