Поделиться через


Интеграция OneLake с Azure Synapse Analytics

Azure Synapse — это служба безграничной аналитики, объединяющая хранилища корпоративные данных и аналитику больших данных. В этом руководстве показано, как подключиться к OneLake с помощью Azure Synapse Analytics.

Запись данных из Synapse с помощью Apache Spark

Выполните следующие действия, чтобы использовать Apache Spark для записи примеров данных в OneLake из Azure Synapse Analytics.

  1. Откройте рабочую область Synapse и создайте пул Apache Spark с предпочитаемыми параметрами.

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

  2. Создайте записную книжку Apache Spark.

  3. Откройте записную книжку, задайте язык PySpark (Python) и подключите его к только что созданному пулу Spark.

  4. На отдельной вкладке перейдите к microsoft Fabric lakehouse и найдите папку таблиц верхнего уровня.

  5. Щелкните правой кнопкой мыши папку "Таблицы" и выберите "Свойства".

    Screenshot showing where to open the Properties pane lakehouse explorer.

  6. Скопируйте путь ABFS из области свойств.

    Screenshot showing where to copy the ABFS path.

  7. Вернитесь в записную книжку Azure Synapse в первой новой ячейке кода, укажите путь lakehouse. В этом лейкхаусе данные записываются позже. Запустите ячейку.

    # 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. В новой ячейке кода загрузите данные из открытого набора данных Azure в кадр данных. Этот набор данных — это тот, который вы загружаете в lakehouse. Запустите ячейку.

    yellowTaxiDf = spark.read.parquet('wasbs://nyctlc@azureopendatastorage.blob.core.windows.net/yellow/puYear=2018/puMonth=2/*.parquet')
    display(yellowTaxiDf.limit(10))
    
  9. В новой ячейке кода, фильтре, преобразовании или подготовке данных. В этом сценарии можно обрезать набор данных для ускорения загрузки, объединения с другими наборами данных или фильтрации до определенных результатов. Запустите ячейку.

    filteredTaxiDf = yellowTaxiDf.where(yellowTaxiDf.tripDistance>2).where(yellowTaxiDf.passengerCount==1)
    display(filteredTaxiDf.limit(10))
    
  10. В новой ячейке кода, используя путь OneLake, напишите отфильтрованный кадр данных в новую таблицу Delta-Parquet в azure Fabric lakehouse. Запустите ячейку.

    filteredTaxiDf.write.format("delta").mode("overwrite").save(oneLakePath + '/Taxi/')
    
  11. Наконец, в новой ячейке кода проверьте успешность записи данных, прочитав только что загруженный файл из OneLake. Запустите ячейку.

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

Поздравляем. Теперь вы можете читать и записывать данные в OneLake с помощью Apache Spark в Azure Synapse Analytics.

Чтение данных из Synapse с помощью SQL

Выполните следующие действия, чтобы использовать SQL serverless для чтения данных из OneLake из Azure Synapse Analytics.

  1. Откройте Lakehouse Fabric и определите таблицу, которую вы хотите запросить из Synapse.

  2. Щелкните таблицу правой кнопкой мыши и выберите пункт "Свойства".

  3. Скопируйте путь ABFS для таблицы.

    Screenshot showing where to copy the ABFS path.

  4. Откройте рабочую область Synapse в Synapse Studio.

  5. Создайте новый скрипт SQL.

  6. В редакторе sql-запросов введите следующий запрос, заменив ABFS_PATH_HERE путь, скопированный ранее.

    SELECT TOP 10 *
    FROM OPENROWSET(
    BULK 'ABFS_PATH_HERE',
    FORMAT = 'delta') as rows;
    
  7. Запустите запрос, чтобы просмотреть первые 10 строк таблицы.

Поздравляем. Теперь вы можете считывать данные из OneLake с помощью SQL serverless в Azure Synapse Analytics.