다음을 통해 공유


Direct Lake용 레이크하우스 만들기

이 문서에서는 레이크하우스를 만들고, 레이크하우스에서 델타 테이블을 만든 다음, Microsoft Fabric 작업 영역에서 Lakehouse에 대한 기본 의미 체계 모델을 만드는 방법을 설명합니다.

Direct Lake용 레이크하우스 만들기를 시작하기 전에 Direct Lake 개요를 읽어 보세요.

레이크하우스 만들기

  1. Microsoft Fabric 작업 영역에서 새로>만들기 옵션을 선택한 다음 데이터 엔지니어 Lakehouse 타일을 선택합니다.

    데이터 엔지니어링의 Lakehouse 타일을 보여 주는 스크린샷

  2. 새 레이크하우스 대화 상자에서 이름을 입력한 다음 만들기를 선택합니다. 이름은 영숫자와 밑줄만 포함할 수 있습니다.

    새 레이크하우스 대화 상자를 보여 주는 스크린샷.

  3. 새 레이크하우스가 만들어지고 성공적으로 열리는지 확인합니다.

    작업 영역에서 만든 Lakehouse의 스크린샷

Lakehouse에서 델타 테이블 만들기

새 Lakehouse를 만든 후에는 Direct Lake에서 일부 데이터에 액세스할 수 있도록 델타 테이블을 하나 이상 만들어야 합니다. Direct Lake는 parquet 형식의 파일을 읽을 수 있지만 최상의 성능을 위해 VORDER 압축 방법을 사용하여 데이터를 압축하는 것이 가장 좋습니다. VORDER는 Power BI 엔진의 기본 압축 알고리즘을 사용하여 데이터를 압축합니다. 이렇게 하면 엔진이 데이터를 가능한 한 빨리 메모리에 로드할 수 있습니다.

데이터 파이프라인 및 스크립트를 포함하여 레이크하우스에 데이터를 로드하는 여러 옵션이 있습니다. 다음 단계에서는 PySpark를 사용하여 Azure Open Dataset을 기반으로 레이크하우스에 델타 테이블을 추가합니다.

  1. 새로 만든 레이크하우스에서 전자 필기장 열기를 선택한 다음 새 전자 필기장을 선택합니다.

    새 Notebook 명령을 보여 주는 스크린샷.

  2. SPARK가 열린 모델에 액세스할 수 있도록 다음 코드 조각을 복사하여 첫 번째 코드 셀에 붙여 넣은 다음, Shift + Enter 키를 눌러 코드를 실행합니다.

    # 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 + Enter 키를 누릅니다.

    # Read Parquet file into a DataFrame.
    df = spark.read.parquet(wasbs_path)
    print(df.printSchema())
    
    
  5. 코드가 DataFrame 스키마를 성공적으로 출력했는지 확인합니다.

    데이터 프레임 스키마 출력을 보여 주는 스크린샷

  6. 다음 코드를 복사하여 다음 셀에 붙여 넣은 다음, Shift + Enter 키를 누릅니다. 첫 번째 명령은 VORDER 압축 메서드를 사용하도록 설정하고, 다음 명령은 DataFrame을 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. 위와 동일한 방법 또는 지원되는 다른 메서드를 사용하여 분석하려는 데이터에 대한 델타 테이블을 더 추가합니다.

Lakehouse에 대한 기본 Direct Lake 모델 만들기

  1. 레이크하우스에서 새 의미 체계 모델을 선택한 다음 대화 상자에서 포함할 테이블을 선택합니다.

    새 모델을 만드는 대화 상자의 스크린샷

  2. Direct Lake 모델을 생성하려면 확인을 선택합니다. 모델은 레이크하우스의 이름에 따라 작업 영역에 자동으로 저장되고 모델을 엽니다.

    Power BI에서 열린 모델을 보여 주는 스크린샷

  3. 데이터 모델 열기를 선택하여 테이블 관계 및 DAX 측정값을 추가할 수 있는 웹 모델링 환경을 엽니다.

    Power BI의 웹 모델링을 보여 주는 스크린샷

관계 및 DAX 측정값 추가가 완료되면 다른 모델과 거의 동일한 방식으로 보고서를 만들고, 복합 모델을 빌드하고, XMLA 엔드포인트를 통해 모델을 쿼리할 수 있습니다.