Integrare OneLake con Azure Databricks

Questo scenario illustra come connettersi a OneLake tramite Azure Databricks. Dopo aver completato questa esercitazione, sarà possibile leggere e scrivere in un lakehouse di Microsoft Fabric dall'area di lavoro di Azure Databricks.

Prerequisiti

Prima di connettersi, è necessario disporre di:

  • Area di lavoro infrastruttura e lakehouse.
  • Un'area di lavoro premium di Azure Databricks. Solo le aree di lavoro Premium di Azure Databricks supportano il pass-through delle credenziali di Microsoft Entra, necessario per questo scenario.

Configurare l'area di lavoro di Databricks

  1. Aprire l'area di lavoro di Azure Databricks e selezionare Crea>cluster.

  2. Per eseguire l'autenticazione a OneLake con l'identità Microsoft Entra, è necessario abilitare il pass-through delle credenziali di Azure Data Lake Archiviazione (ADLS) nel cluster nelle opzioni avanzate.

    Screenshot showing where to select Create cluster in the Advanced options screen.

    Nota

    È anche possibile connettere Databricks a OneLake usando un'entità servizio. Per altre informazioni sull'autenticazione di Azure Databricks con un'entità servizio, vedere Gestire le entità servizio.

  3. Creare il cluster con i parametri preferiti. Per altre informazioni sulla creazione di un cluster Databricks, vedere Configurare i cluster - Azure Databricks.

  4. Aprire un notebook e connetterlo al cluster appena creato.

Creare il blocco appunti

  1. Passare a Fabric lakehouse e copiare il percorso del file system BLOB di Azure (ABFS) nel lakehouse. È possibile trovarlo nel riquadro Proprietà .

    Nota

    Azure Databricks supporta solo il driver ABFS (Blob File system) di Azure durante la lettura e la scrittura in ADLS Gen2 e OneLake: abfss://myWorkspace@onelake.dfs.fabric.microsoft.com/.

  2. Salvare il percorso del lakehouse nel notebook di Databricks. Questo lakehouse è il percorso in cui si scrivono i dati elaborati in un secondo momento:

    oneLakePath = 'abfss://myWorkspace@onelake.dfs.fabric.microsoft.com/myLakehouse.lakehouse/Files/'
    
  3. Caricare dati da un set di dati pubblico di Databricks in un dataframe. È anche possibile leggere un file da un'altra posizione in Fabric o scegliere un file da un altro account ADLS Gen2 già proprietario.

    yellowTaxiDF = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/databricks-datasets/nyctaxi/tripdata/yellow/yellow_tripdata_2019-12.csv.gz")
    
  4. Filtrare, trasformare o preparare i dati. Per questo scenario, è possibile ridurre il set di dati per un caricamento più rapido, un join con altri set di dati o filtrare in base a risultati specifici.

    filteredTaxiDF = yellowTaxiDF.where(yellowTaxiDF.fare_amount<4).where(yellowTaxiDF.passenger_count==4)
    display(filteredTaxiDF)
    
  5. Scrivere il dataframe filtrato nel lakehouse di Fabric usando il percorso di OneLake.

    filteredTaxiDF.write.format("csv").option("header", "true").mode("overwrite").csv(oneLakePath)
    
  6. Verificare che i dati siano stati scritti correttamente leggendo il file appena caricato.

    lakehouseRead = spark.read.format('csv').option("header", "true").load(oneLakePath)
    display(lakehouseRead.limit(10))
    

Congratulazioni. È ora possibile leggere e scrivere dati in Fabric usando Azure Databricks.