OneCopy: Spark를 사용하여 데이터 변환 및 SQL을 사용하여 쿼리

이 가이드에서는 다음을 수행합니다.

  • OneLake 파일 탐색기를 사용하여 OneLake에 데이터를 업로드합니다.

  • Fabric Notebook을 사용하여 OneLake에서 데이터를 읽고 델타 테이블로 다시 씁니다.

  • Fabric Notebook을 사용하여 Spark를 사용하여 데이터를 분석하고 변환합니다.

  • SQL을 사용하여 OneLake에서 데이터 복사본 1개를 쿼리합니다.

중요

Microsoft Fabric은 현재 미리 보기로 제공됩니다. 이 정보는 릴리스되기 전에 상당히 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보와 관련하여 명시적이거나 묵시적인 어떠한 보증도 하지 않습니다.

사전 요구 사항

  • OneLake 파일 탐색기를 다운로드하여 설치합니다.
  • 레이크하우스 항목이 있는 작업 영역
  • 이 가이드의 지침에 따라 WideWorldImportersDW 데이터 세트를 컴퓨터에 다운로드합니다. Azure Storage Explorer 사용하여 "https://azuresynapsestorage.blob.core.windows.net/sampledata/WideWorldImportersDW/csv/full/dimension_city" csv 파일 집합을 다운로드합니다. 사용자 고유의 csv 데이터를 사용하고 필요에 따라 세부 정보를 업데이트할 수도 있습니다.

단계

  1. OneLake 파일 탐색기에서 레이크하우스로 이동하고 /Files 디렉터리 아래에서 dimension_city라는 하위 디렉터리를 만듭니다.

    OneLake 파일 탐색기에서 만든 새 폴더의 스크린샷

  2. OneLake 파일 탐색기를 사용하여 샘플 csv 파일을 OneLake 디렉터리 /Files/dimension_city 복사합니다.

    파일 탐색기에서 OneLake에 파일을 복사하는 스크린샷

  3. Power BI 서비스 레이크하우스로 이동하여 파일을 봅니다.

    패브릭의 Lakehouse에서 파일을 보는 스크린샷

  4. 전자 필기장 열기, 새 전자 필기장을 차례로 선택하여 Notebook을 만듭니다.

    패브릭에서 새 Notebook을 만드는 스크린샷

  5. Fabric Notebook을 사용하여 CSV 파일을 델타 형식으로 변환합니다. 다음 코드 조각은 사용자가 만든 디렉터리 /Files/dimension_city 데이터를 읽고 dim_city 델타 테이블로 변환합니다.

    import os
    from pyspark.sql.types import *
    for filename in os.listdir("/lakehouse/default/Files/<replace with your folder path>"):
    df=spark.read.format('csv').options(header="true",inferSchema="true").load("abfss://<replace with workspace name>@onelake.dfs.fabric.microsoft.com/<replace with item name>.Lakehouse/Files/<folder name>/"+filename,on_bad_lines="skip")
    df.write.mode("overwrite").format("delta").save("Tables/<name of delta table>")
    
  6. /Tables 디렉터리의 보기를 새로 고쳐 새 테이블을 확인합니다.

    패브릭의 레이크하우스에서 테이블을 보는 스크린샷

  7. 동일한 Fabric Notebook에서 SparkSQL을 사용하여 테이블을 쿼리합니다.

    %%sql
    SELECT * from <replace with item name>.dim_city LIMIT 10;
    
  8. 데이터 형식 정수로 newColumn이라는 새 열을 추가하여 델타 테이블을 수정합니다. 새로 추가된 이 열에 대한 모든 레코드의 값을 9로 설정합니다.

    %%sql
    
    ALTER TABLE <replace with item name>.dim_city ADD COLUMN newColumn int;
    
    UPDATE <replace with item name>.dim_city SET newColumn = 9;
    
    SELECT City,newColumn FROM <replace with item name>.dim_city LIMIT 10;
    
  9. OneLake의 모든 델타 테이블은 SQL 엔드포인트를 통해 액세스할 수도 있습니다. 이 SQL 엔드포인트는 OneLake에서 동일한 델타 테이블의 물리적 복사본을 참조하고 T-SQL 환경을 제공합니다. lakehouse1에 대한 SQL 엔드포인트를 선택한 다음, "새 SQL 쿼리"를 선택하여 T-SQL을 사용하여 테이블을 쿼리합니다.

    SELECT TOP (100) * FROM [<replace with item name>].[dbo].[dim_city];
    

요약

이 빠른 시작 가이드에서는 OneLake 파일 탐색기를 사용하여 외부 데이터 세트를 OneLake에 복사했습니다. 그런 다음 데이터 세트를 델타 테이블로 변환하고 lakehouse 및 T-SQL 환경을 사용하여 분석했습니다.