Integrieren von OneLake mit Azure Synapse Analytics

Azure Synapse ist ein grenzenloser Analysedienst, der Datenintegration, Data Warehousing für Unternehmen und Big Data-Analyse vereint. In diesem Tutorial wird gezeigt, wie Sie mithilfe von Azure Synapse Analytics eine Verbindung mit OneLake herstellen.

Schreiben von Daten aus Synapse mit Apache Spark

Führen Sie diese Schritte aus, um mithilfe von Apache Spark Beispieldaten aus Azure Synapse Analytics in OneLake zu schreiben.

  1. Öffnen Sie Ihren Synapse-Arbeitsbereich, und erstellen Sie einen Apache Spark-Pool mit Ihren bevorzugten Parametern.

    Screenshot showing where to select New in the Apache Spark pool screen.

  2. Erstellen Sie ein neues Apache Spark-Notebook.

  3. Öffnen Sie das Notebook, legen Sie die Sprache auf PySpark (Python) fest, und verbinden Sie es mit Ihrem neu erstellten Spark-Pool.

  4. Navigieren Sie auf einer separaten Registerkarte zu Ihrem Microsoft Fabric Lakehouse, und suchen Sie den Ordner Tabellen der obersten Ebene.

  5. Klicken Sie mit der rechten Maustaste auf den Ordner Tabellen, und wählen Sie Eigenschaften aus.

    Screenshot showing where to open the Properties pane lakehouse explorer.

  6. Kopieren Sie den ABFS-Pfad aus dem Eigenschaftenbereich.

    Screenshot showing where to copy the ABFS path.

  7. Geben Sie im Azure Synapse Notebook in der ersten neuen Codezelle den Lakehouse-Pfad an. In dieses Lakehouse werden später Ihre Daten geschrieben. Führen Sie die Zelle aus.

    # 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. Laden Sie in einer neuen Codezelle Daten aus einem offenen Azure-Dataset in einen Dataframe. Dieses Dataset laden Sie in Ihr Lakehouse. Führen Sie die Zelle aus.

    yellowTaxiDf = spark.read.parquet('wasbs://nyctlc@azureopendatastorage.blob.core.windows.net/yellow/puYear=2018/puMonth=2/*.parquet')
    display(yellowTaxiDf.limit(10))
    
  9. In einer neuen Codezelle filtern oder transformieren Sie Ihre Daten oder bereiten sie auf. In diesem Szenario können Sie Ihr Dataset für ein schnelleres Laden kürzen, es mit anderen Datasets verknüpfen oder nach bestimmten Ergebnissen filtern. Führen Sie die Zelle aus.

    filteredTaxiDf = yellowTaxiDf.where(yellowTaxiDf.tripDistance>2).where(yellowTaxiDf.passengerCount==1)
    display(filteredTaxiDf.limit(10))
    
  10. Schreiben Sie in einer neuen Codezelle unter Verwendung Ihres OneLake-Pfads Ihren gefilterten Dataframe in eine neue Delta-Parquet Tabelle in Ihrem Fabric Lakehouse. Führen Sie die Zelle aus.

    filteredTaxiDf.write.format("delta").mode("overwrite").save(oneLakePath + '/Taxi/')
    
  11. Testen Sie schließlich in einer neuen Codezelle, ob Ihre Daten erfolgreich geschrieben wurden, indem Sie Ihre neu geladene Datei aus OneLake lesen. Führen Sie die Zelle aus.

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

Herzlichen Glückwunsch! Sie können jetzt Daten in OneLake mit Apache Spark in Azure Synapse Analytics lesen und schreiben.

Lesen von Daten aus Synapse mit SQL

Führen Sie die folgenden Schritte aus, um SQL (serverlos) zu verwenden, um Daten aus OneLake aus Azure Synapse Analytics zu lesen.

  1. Öffnen Sie ein Fabric Lakehouse, und suchen Sie eine Tabelle, die Sie von Synapse abfragen möchten.

  2. Klicken Sie mit der rechten Maustaste auf die Tabelle, und wählen Sie Eigenschaften aus.

  3. Kopieren Sie den ABFS-Pfad für die Tabelle.

    Screenshot showing where to copy the ABFS path.

  4. Öffnen Sie Ihren Synapse-Arbeitsbereich in Synapse Studio.

  5. Erstellen Sie ein neues SQL-Skript.

  6. Geben Sie im SQL-Abfrage-Editor die folgende Abfrage ein, und ersetzen Sie ABFS_PATH_HERE durch den Pfad, den Sie zuvor kopiert haben.

    SELECT TOP 10 *
    FROM OPENROWSET(
    BULK 'ABFS_PATH_HERE',
    FORMAT = 'delta') as rows;
    
  7. Führen Sie die Abfrage aus, um die ersten 10 Zeilen Ihrer Tabelle anzuzeigen.

Herzlichen Glückwunsch! Sie können jetzt Daten aus OneLake mithilfe von SQL (serverlos) in Azure Synapse Analytics lesen.