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


Создание lakehouse для Direct Lake

В этой статье описывается, как создать lakehouse, создать таблицу Delta в lakehouse, а затем создать базовую семантику для lakehouse в рабочей области Microsoft Fabric.

Прежде чем приступить к созданию lakehouse для Direct Lake, обязательно ознакомьтесь с общими сведениями о Direct Lake.

Создание озера данных

  1. В рабочей области Microsoft Fabric выберите новые>параметры, а затем в Инжиниринг данных выберите плитку Lakehouse.

    Снимок экрана: плитка Lakehouse в инженерии данных.

  2. В диалоговом окне "Создать lakehouse" введите имя и нажмите кнопку "Создать". Имя может содержать только буквенно-цифровые символы и символы подчеркивания.

    Снимок экрана: диалоговое окно New Lakehouse.

  3. Убедитесь, что новый lakehouse создан и открыт успешно.

    Снимок экрана: Lakehouse, созданный в рабочей области.

Создание таблицы Delta в lakehouse

После создания нового озера необходимо создать по крайней мере одну таблицу Delta, чтобы Direct Lake могли получить доступ к некоторым данным. Direct Lake может считывать файлы в формате parquet, но для оптимальной производительности лучше сжать данные с помощью метода сжатия VORDER. VORDER сжимает данные с помощью собственного алгоритма сжатия подсистемы Power BI. Таким образом подсистема может загружать данные в память как можно быстрее.

Существует несколько вариантов загрузки данных в lakehouse, включая конвейеры данных и скрипты. Следующие действия используют PySpark для добавления таблицы Delta в lakehouse на основе открытого набора данных Azure:

  1. В созданном lakehouse выберите "Открыть записную книжку" и выберите "Создать записную книжку".

    Снимок экрана: новая команда записной книжки.

  2. Скопируйте и вставьте следующий фрагмент кода в первую ячейку кода, чтобы разрешить SPARK получить доступ к открытой модели, а затем нажмите клавиши SHIFT+ВВОД , чтобы запустить код.

    # Azure storage access info
    blob_account_name = "azureopendatastorage"
    blob_container_name = "holidaydatacontainer"
    blob_relative_path = "Processed"
    blob_sas_token = r""
    
    # Allow SPARK to read from Blob remotely
    wasbs_path = 'wasbs://%s@%s.blob.core.windows.net/%s' % (blob_container_name, blob_account_name, blob_relative_path)
    spark.conf.set(
      'fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name),
      blob_sas_token)
    print('Remote blob path: ' + wasbs_path)
    
    
  3. Убедитесь, что код успешно выводит путь к удаленному BLOB-объекту.

    Снимок экрана: выходные данные пути к удаленному BLOB-объекту.

  4. Скопируйте и вставьте следующий код в следующую ячейку, а затем нажмите клавиши SHIFT+ВВОД.

    # Read Parquet file into a DataFrame.
    df = spark.read.parquet(wasbs_path)
    print(df.printSchema())
    
    
  5. Убедитесь, что код успешно выводит схему DataFrame.

    Снимок экрана: выходные данные схемы кадра данных.

  6. Скопируйте и вставьте следующие строки в следующую ячейку, а затем нажмите клавиши SHIFT+ВВОД. Первая инструкция включает метод сжатия VORDER, а следующая инструкция сохраняет кадр данных в виде таблицы Delta в lakehouse.

    # Save as delta table 
    spark.conf.set("spark.sql.parquet.vorder.enabled", "true")
    df.write.format("delta").saveAsTable("holidays")
    
    
  7. Убедитесь, что все задания SPARK успешно завершены. Разверните список заданий SPARK, чтобы просмотреть дополнительные сведения.

    Снимок экрана: развернутый список заданий SPARK.

  8. Чтобы убедиться, что таблица создана успешно, в левой верхней области рядом с таблицами выберите многоточие (...), а затем нажмите кнопку "Обновить", а затем разверните узел "Таблицы".

    Снимок экрана: команда

  9. Используя либо тот же метод, что и выше, либо другие поддерживаемые методы, добавьте дополнительные таблицы Delta для данных, которые необходимо проанализировать.

Создание базовой модели Direct Lake для озера

  1. В lakehouse выберите новую семантику модели, а затем в диалоговом окне выберите таблицы, которые нужно включить.

    Снимок экрана: диалоговое окно для создания новой модели.

  2. Выберите "Подтвердить" , чтобы создать модель Direct Lake. Модель автоматически сохраняется в рабочей области на основе имени озера, а затем открывает модель.

    Снимок экрана: открытая модель в Power BI.

  3. Выберите "Открыть модель данных", чтобы открыть интерфейс веб-моделирования, где можно добавлять связи таблиц и меры DAX.

    Снимок экрана: веб-моделирование в Power BI.

После завершения добавления связей и мер DAX можно создавать отчеты, создавать составную модель и запрашивать модель через конечные точки XMLA точно так же, как и любую другую модель.