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 Databricks di Azure.

Prerequisiti

Prima di connettersi, è necessario disporre di:

  • Un'area di lavoro e un lakehouse di Fabric.
  • Un’area di lavoro Premium di Azure Databricks. Solo le aree di lavoro di Databricks Premium di Azure 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 Databricks di Azure e selezionare Crea>Cluster.

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

    Screenshot che mostra dove selezionare Crea cluster nella schermata Opzioni avanzate.

    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 cluster di Databricks, vedere Configura cluster – Azure Databricks.

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

Creare il notebook

  1. Andare al lakehouse di Fabric e copiare il percorso di Azure Blob Filesystem (ABFS) nel lakehouse. È possibile trovarlo nel riquadro Proprietà.

    Nota

    Azure Databricks supporta solo il driver Azure Blob Filesystem 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 è dove si scrivono i dati elaborati successivamente:

    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, unirlo ad 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.