OneLake integreren met Azure Synapse Analytics

Azure Synapse is een onbeperkte analyseservice die zakelijke datawarehousing en big data-analyses combineert. In deze zelfstudie ziet u hoe u verbinding maakt met OneLake met behulp van Azure Synapse Analytics.

Vereiste voorwaarden

Zorg ervoor dat u de volgende items hebt voordat u begint:

  • Toegang tot een Synapse-werkruimte waar u een Apache Spark-pool kunt maken of gebruiken en SQL-scripts kunt uitvoeren.
  • Toegang tot een lakehouse in Fabric.
  • Het ABFS-pad voor de map Lakehouse Tables of de tabel waarop u een query wilt uitvoeren.

Gegevens schrijven vanuit Synapse met behulp van Apache Spark

Volg deze stappen om Apache Spark te gebruiken om vanuit Azure Synapse Analytics voorbeeldgegevens naar OneLake te schrijven.

  1. Open uw Synapse-werkruimte en maak een Apache Spark-pool met uw voorkeursparameters.

    Schermopname die laat zien waar u Nieuw selecteert in het scherm van de Apache Spark-pool.

  2. Maak een nieuw Apache Spark-notebook.

  3. Open het notebook, stel de taal in op PySpark (Python) en verbind deze met uw zojuist gemaakte Spark-pool.

  4. Ga op een afzonderlijk tabblad naar uw Microsoft Fabric lakehouse en zoek de map Tables op het hoogste niveau.

  5. Klik met de rechtermuisknop op de map Tabellen en selecteer Eigenschappen.

    Schermopname die laat zien waar het deelvenster Eigenschappen lakehouse explorer moet worden geopend.

  6. Kopieer het ABFS-pad in het eigenschappenvenster.

    Schermopname die laat zien waar het ABFS-pad moet worden gekopieerd.

  7. Geef in de eerste nieuwe codecel in het Azure Synapse notitieboek het lakehouse-pad op. Dit pad verwijst naar de map Tabellen in het lakehouse waar u de voorbeeldgegevens later schrijft. Voer de cel uit.

    # Replace the path below with the ABFS path to your lakehouse Tables folder. 
    oneLakePath = 'abfss://WorkspaceName@onelake.dfs.fabric.microsoft.com/LakehouseName.lakehouse/Tables'
    
  8. Laad in een nieuwe codecel gegevens uit een Azure open dataset in een dataframe. Dit is de dataset die u in uw lakehouse laadt. Voer de cel uit.

    yellowTaxiDf = spark.read.parquet('wasbs://nyctlc@azureopendatastorage.blob.core.windows.net/yellow/puYear=2018/puMonth=2/*.parquet')
    display(yellowTaxiDf.limit(10))
    
  9. In een nieuwe codecel kunt u uw gegevens filteren, transformeren of voorbereiden. Voor dit scenario kunt u uw gegevensset verkleinen voor sneller laden, samenvoegen met andere gegevenssets of filteren op specifieke resultaten. Voer de cel uit.

    filteredTaxiDf = yellowTaxiDf.where(yellowTaxiDf.tripDistance>2).where(yellowTaxiDf.passengerCount==1)
    display(filteredTaxiDf.limit(10))
    
  10. Schrijf in een nieuwe codecel met behulp van uw OneLake-pad het gefilterde gegevensframe naar een nieuwe Delta-Parquet tabel in uw Fabric lakehouse. Voer de cel uit.

    filteredTaxiDf.write.format("delta").mode("overwrite").save(oneLakePath + '/Taxi/')
    
  11. Test ten slotte in een nieuwe codecel of uw gegevens zijn geschreven door de nieuwe Delta-tabel uit OneLake te lezen. Voer de cel uit.

    lakehouseRead = spark.read.format('delta').load(oneLakePath + '/Taxi/')
    display(lakehouseRead.limit(10))
    

Gefeliciteerd. U kunt nu gegevens lezen en schrijven in OneLake met behulp van Apache Spark in Azure Synapse Analytics.

Gegevens lezen uit Synapse met behulp van SQL

Volg deze stappen om sql serverloos te gebruiken om gegevens uit OneLake te lezen uit Azure Synapse Analytics.

  1. Open een Fabric lakehouse en identificeer een tabel die u wilt opvragen vanuit Synapse.

  2. Klik met de rechtermuisknop op de tabel en selecteer Eigenschappen.

  3. Kopieer het ABFS-pad voor de tabel.

    Schermopname die laat zien waar het ABFS-pad moet worden gekopieerd.

  4. Open uw Synapse-werkruimte in Synapse Studio.

  5. Maak een nieuw SQL-script.

  6. Voer in de SQL-queryeditor de volgende query in, waarbij u ABFS_PATH_HERE vervangt door het pad dat u eerder hebt gekopieerd.

    SELECT TOP 10 *
    FROM OPENROWSET(
    BULK 'ABFS_PATH_HERE',
    FORMAT = 'delta') as rows;
    
  7. Voer de query uit om de tien bovenste rijen van de tabel weer te geven.

Gefeliciteerd. U kunt nu gegevens uit OneLake lezen met behulp van serverloze SQL in Azure Synapse Analytics.