Apache Spark를 사용하여 데이터 변환 및 SQL을 사용하여 쿼리
이 가이드에서는 다음을 수행합니다.
OneLake 파일 탐색기를 사용하여 데이터를 OneLake에 업로드합니다.
Fabric Notebook을 사용하여 OneLake에서 데이터를 읽고 Delta 테이블로 다시 씁니다.
Fabric Notebook을 사용하여 Spark에서 데이터를 분석하고 변환합니다.
SQL을 사용하여 OneLake에서 하나의 데이터 복사본을 쿼리합니다.
필수 조건
시작하기 전에 다음을 수행해야 합니다.
OneLake 파일 탐색기를 다운로드하여 설치합니다.
레이크하우스 항목을 사용하여 작업 영역을 만듭니다.
WideWorldImportersDW 데이터 세트를 다운로드합니다. Azure Storage Explorer를 사용하여
https://fabrictutorialdata.blob.core.windows.net/sampledata/WideWorldImportersDW/csv/full/dimension_city
에 연결하고 csv 파일 집합을 다운로드할 수 있습니다. 또는 사용자 고유의 csv 데이터를 사용하고 필요에 따라 세부 정보를 업데이트할 수 있습니다.
참고 항목
항상 레이크하우스의 Tables 섹션 바로 아래에 Delta-Parquet 데이터를 만들거나 로드하거나 이 데이터에 대한 바로 가기를 만듭니다. 레이크하우스에서 테이블로 인식하지 않고 레이블을 '식별되지 않음'으로 지정하므로 테이블을 Tables 섹션 아래의 하위 폴더에 중첩하지 마세요.
데이터 업로드, 읽기, 분석 및 쿼리
OneLake 파일 탐색기에서 레이크하우스로 이동하고,
/Files
디렉터리 아래에서dimension_city
라는 하위 디렉터리를 만듭니다.OneLake 파일 탐색기를 사용하여 샘플 csv 파일을
/Files/dimension_city
OneLake 디렉터리에 복사합니다.Power BI 서비스에서 레이크하우스로 이동하여 파일을 확인합니다.
Notebook 열기, 새 Notebook을 차례로 선택하여 Notebook을 만듭니다.
Fabric Notebook을 사용하여 CSV 파일을 Delta 형식으로 변환합니다. 다음 코드 조각에서는 사용자가 만든
/Files/dimension_city
디렉터리 에서 데이터를 읽고dim_city
Delta 테이블로 변환합니다.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>")
새 테이블을 보려면
/Tables
디렉터리의 보기를 새로 고칩니다.동일한 Fabric Notebook에서 SparkSQL을 사용하여 테이블을 쿼리합니다.
%%sql SELECT * from <replace with item name>.dim_city LIMIT 10;
데이터 형식이 정수인 newColumn이라는 새 열을 추가하여 Delta 테이블을 수정합니다. 새로 추가된 이 열의 모든 레코드에 대해 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;
SQL 분석 엔드포인트를 통해 OneLake의 모든 Delta 테이블에 액세스할 수도 있습니다. SQL 분석 엔드포인트는 OneLake에서 Delta 테이블의 동일한 물리적 복사본을 참조하고 T-SQL 환경을 제공합니다. lakehouse1에 대한 SQL 분석 엔드포인트를 선택한 다음, 새 SQL 쿼리를 선택하여 T-SQL을 통해 테이블을 쿼리합니다.
SELECT TOP (100) * FROM [<replace with item name>].[dbo].[dim_city];