Condividi tramite


Creare un lakehouse per Direct Lake

Questo articolo descrive come creare un lakehouse, creare una tabella delta in lakehouse e quindi creare un modello semantico di base per lakehouse in un'area di lavoro di Microsoft Fabric.

Prima di iniziare a creare un lakehouse per Direct Lake, assicurarsi di aver letto Panoramica di Direct Lake.

Creare una lakehouse

  1. Nell'area di lavoro di Microsoft Fabric, selezionare Nuovo>Altre opzioni, quindi, in Ingegneria dei dati, selezionare il riquadro Lakehouse.

    Screenshot che mostra il riquadro Lakehouse in Progettazione dati.

  2. Nella finestra di dialogo Nuovo lakehouse immettere un nome, quindi selezionare Crea. Il nome può contenere solo caratteri alfanumerici e caratteri di sottolineatura.

    Screenshot che mostra la finestra di dialogo Nuovo lakehouse.

  3. Verificare che il nuovo lakehouse sia stato creato e che venga aperto correttamente.

    Screenshot del lakehouse creata nell'area di lavoro.

Creare una tabella delta nel lakehouse

Dopo aver creato un nuovo lakehouse, è necessario creare almeno una tabella delta in modo che Direct Lake possa accedere ad alcuni dati. Direct Lake può leggere file in formato parquet, ma per ottenere prestazioni ottimali, è consigliabile comprimere i dati usando il metodo di compressione VORDER. VORDER comprime i dati usando l'algoritmo di compressione nativo del motore di Power BI. In questo modo il motore può caricare i dati in memoria il più rapidamente possibile.

Sono disponibili più opzioni per caricare i dati in un lakehouse, tra cui pipeline di dati e script. La procedura seguente usa PySpark per aggiungere una tabella delta a un lakehouse basato su un Set di dati di Azure Open:

  1. Nel lakehouse appena creato selezionare Apri notebook, quindi selezionare Nuovo notebook.

    Screenshot che mostra il nuovo comando del notebook.

  2. Copiare e incollare il frammento di codice seguente nella prima cella di codice per consentire a SPARK di accedere al modello aperto, quindi premere MAIUSC + INVIO per eseguire il codice.

    # Azure storage access info
    blob_account_name = "azureopendatastorage"
    blob_container_name = "holidaydatacontainer"
    blob_relative_path = "Processed"
    blob_sas_token = r""
    
    # Allow SPARK to read from Blob remotely
    wasbs_path = 'wasbs://%s@%s.blob.core.windows.net/%s' % (blob_container_name, blob_account_name, blob_relative_path)
    spark.conf.set(
      'fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name),
      blob_sas_token)
    print('Remote blob path: ' + wasbs_path)
    
    
  3. Verificare che il codice restituisca correttamente un percorso BLOB remoto.

    Screenshot che mostra l'output del percorso BLOB remoto.

  4. Copiare e incollare il codice seguente nella cella successiva, quindi premere MAIUSC + INVIO.

    # Read Parquet file into a DataFrame.
    df = spark.read.parquet(wasbs_path)
    print(df.printSchema())
    
    
  5. Verificare che il codice restituisca correttamente lo schema DataFrame.

    Screenshot che mostra l’output del dataframe dello schema.

  6. Copiare e incollare le linee seguenti nella cella successiva, quindi premere MAIUSC + INVIO. La prima istruzione abilita il metodo di compressione VORDER, mentre l'istruzione successiva salva il DataFrame come tabella delta nel lakehouse.

    # Save as delta table 
    spark.conf.set("spark.sql.parquet.vorder.enabled", "true")
    df.write.format("delta").saveAsTable("holidays")
    
    
  7. Verificare che tutti i processi SPARK siano stati completati correttamente. Espandere l'elenco dei processi SPARK per visualizzare altri dettagli.

    Screenshot che mostra l'elenco espanso dei processi SPARK.

  8. Per verificare che una tabella sia stata creata correttamente, nell'area superiore sinistra accanto a Tabelle selezionare i puntini di sospensione (), quindi selezionare Aggiorna ed espandere il nodo Tabelle.

    Screenshot che mostra il comando Aggiorna vicino al nodo Tabelle.

  9. Usando lo stesso metodo precedente o altri metodi supportati, aggiungere altre tabelle delta per i dati da analizzare.

Creare un modello Direct Lake di base per il lakehouse

  1. Nel lakehouse selezionare Nuovo modello semantico, quindi, nella finestra di dialogo, selezionare le tabelle da includere.

    Screenshot della finestra di dialogo per creare un nuovo modello.

  2. Selezionare Conferma per generare il modello Direct Lake. Il modello viene salvato automaticamente nell'area di lavoro in base al nome del lakehouse, dopodiché apre il modello.

    Screenshot che mostra il modello aperto in Power BI.

  3. Selezionare Apri modello di dati per aprire l'esperienza di modellazione Web in cui è possibile aggiungere relazioni tra tabelle e misure DAX.

    Screenshot che mostra la modellazione Web in Power BI.

Al termine dell'aggiunta di relazioni e di misure DAX, è possibile creare report, creare un modello composito ed eseguire query sul modello tramite endpoint XMLA allo stesso modo che per qualsiasi altro modello.