Condividi tramite


Creare una lakehouse per Direct Lake

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

Assicurati di leggere la panoramica di Direct Lakeprima di iniziare a creare una lakehouse per Direct Lake.

Creare una lakehouse

  1. Nell'area di lavoro di Microsoft Fabric, selezionare Nuovo>Altre opzionie quindi in Data Engineering, selezionare il riquadro Lakehouse.

    Screenshot che mostra il riquadro Lakehouse nel Data engineering.

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

    Screenshot che mostra la finestra di dialogo Nuova lakehouse.

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

    Screenshot della struttura sul lago 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 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 una lakehouse basata su un dataset aperto di Azure:

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

    Screenshot che mostra il nuovo comando 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 produca correttamente un percorso di blob remoto.

    Screenshot che mostra l'output del percorso BLOB remoto.

  4. Copiate e incollate il codice seguente nella cella successiva, quindi premete SHIFT + 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 del dataframe.

    Screenshot che mostra l'output dello schema del dataframe.

  6. Copia e incolla le righe seguenti nella cella successiva, quindi premi Shift + Enter. La prima istruzione abilita il metodo di compressione VORDER e l'istruzione successiva salva il DataFrame come tabella Delta nella 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. Espandi l'elenco dei processi SPARK per visualizzare ulteriori dettagli.

    Screenshot che mostra un elenco espanso dei lavori SPARK.

  8. Per verificare che una tabella sia stata creata correttamente, nell'area superiore sinistra, accanto a Tabelle, selezionare l'ellissi (...), quindi selezionare Aggiornae quindi 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 semanticoe 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 e quindi 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 misure DAX, è possibile creare report, creare un modello composito ed eseguire query sul modello tramite endpoint XMLA nello stesso modo di qualsiasi altro modello.