OPENROWSET 함수를 사용하여 파일 콘텐츠 찾아보기(미리 보기)
적용 대상: Microsoft Fabric의✅ Warehouse
OPENROWSET 함수를 사용하면 Parquet 또는 CSV 파일의 내용을 읽고 데이터를 행 집합으로 반환할 수 있습니다.
이 기능을 사용하여 데이터 웨어하우스 테이블에 로드하기 전에 파일 내용을 검사할 수 있습니다. OPENROWSET을 사용하면 패브릭 웨어하우스에 수집할 파일을 쉽게 탐색하고, 수집 중인 열을 이해하고, 해당 형식을 결정할 수 있습니다.
데이터를 이해하면 수집된 파일 콘텐츠를 저장하는 데 사용할 테이블을 만들 수 있습니다.
OPENROWSET 함수를 사용하여 Parquet 파일 찾아보기
첫 번째 예제에서는 Parquet 원본의 데이터를 검사합니다.
파일에서 Parquet 소스를 사용하여 샘플 데이터를 읽으려면 OPENROWSET(BULK) 함수와 함께 다음 코드를 사용합니다.
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.parquet') AS data
이 데이터는 공개적으로 사용할 수 있으며 인증이 필요하지 않으므로 이 쿼리를 패브릭 웨어하우스에 쉽게 복사하여 변경하지 않고 실행할 수 있습니다.
인증 세부 정보가 필요하지 않습니다.
OPENROWSET
함수는 URI의 .parquet
파일 확장자를 기반으로 Parquet 형식을 읽고 있다고 가정하므로 FORMAT
옵션을 지정할 필요가 없습니다.
OPENROWSET 함수를 사용하여 CSV 파일 찾아보기
두 번째 예제에서는 CSV 파일의 데이터를 검사합니다. OPENROWSET(BULK) 함수를 사용하여 CSV 파일에서 샘플 데이터를 읽으려면 다음 코드를 사용합니다.
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv') AS data
이 데이터는 공개적으로 사용할 수 있으며 인증이 필요하지 않으므로 이 쿼리를 패브릭 웨어하우스에 쉽게 복사하여 변경하지 않고 실행할 수 있습니다. 인증 세부 정보가 필요하지 않습니다.
OPENROWSET
함수는 URI의 .csv
파일 확장자를 기반으로 CSV
형식을 읽고 있다고 가정하므로 FORMAT
옵션을 지정할 필요가 없습니다.
메모
결과에서 이 파일의 첫 번째 행에 데이터 대신 열 이름이 포함되어 있음을 알 수 있습니다. 이 경우 HEADER_ROW 옵션을 사용하여 쿼리를 수정하여 행을 건너뛰고 열 이름에만 사용해야 합니다. 기본 데이터와 일치할 때까지 파일을 점진적으로 조정하므로 이는 데이터 탐색 프로세스의 일부입니다.
사용자 지정 텍스트 파일 읽기
OPENROWSET(BULK) 함수를 사용하면 사용자 지정 텍스트 파일을 읽기 위한 다양한 옵션을 정의할 수 있습니다.
예를 들어 ROWTERMINATOR
및 FIELDTERMINATOR
값을 지정하여 기본 파일 형식을 나타낼 수 있습니다.
select *
from OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv',
FORMAT='CSV',
HEADER_ROW=True,
ROW_TERMINATOR='\n',
FIELD_TERMINATOR=','
) AS data
이 예제에서는 각 행을 줄 바꿈으로 구분하고 각 필드를 쉼표로 구분하는 CSV 형식의 파일을 읽는 것을 명시적으로 지정합니다. 첫 번째 행에는 열 이름에 사용할 머리글이 포함됩니다.
열 메타데이터 탐색
OPENROWSET
함수를 사용하면 샘플 데이터를 읽는 쿼리와 sp_describe_first_result_set
프로시저를 결합하여 파일 열 및 해당 형식을 쉽게 볼 수 있습니다.
EXEC sp_describe_first_result_set
N'SELECT TOP 0 *
FROM OPENROWSET(BULK ''https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.parquet'') AS data';
이 예제에서 sp_describe_first_result_set
프로시저는 0개의 행을 반환하는 OPENROWSET
함수를 사용하여 쿼리를 실행합니다.
그런 다음 이 내부 쿼리에서 열 스키마를 가져와 프로시저의 결과로 열 스키마를 반환합니다.
이 열 스키마를 사용하여 데이터를 수집하는 CREATE TABLE 문에서 대상 테이블의 구조를 정의할 수 있습니다. 또는 다음 예제와 같이 이러한 결과를 사용하여 OPENROWSET 함수의 결과에 대해 보다 정확한 형식을 지정할 수 있습니다.
OPENROWSET 함수의 스키마 지정
OPENROWSET(BULK)
함수는 데이터 샘플을 기반으로 예상 열 형식을 반환합니다.
샘플이 대표적이지 않으면 예기치 않은 형식이나 크기가 발생할 수 있습니다.
파일의 열 형식을 알고 있는 경우 WITH 절을 사용하여 열의 스키마를 명시적으로 정의할 수 있습니다.
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv') AS data
WITH (updated date,
load_time datetime2,
deaths_change smallint,
id int,
confirmed int,
confirmed_change int,
deaths int,
recovered int,
recovered_change int,
latitude float,
longitude float,
iso2 varchar(8000),
iso3 varchar(8000),
country_region varchar(8000),
admin_region_1 varchar(8000),
iso_subdivision varchar(8000),
admin_region_2 varchar(8000)
) AS data;
OPENROWSET(BULK)
함수는 열 형식을 추측하는 대신 WITH
절에 제공된 형식을 명시적으로 할당합니다.
이렇게 하면 보다 정확한 형식을 정의하여 쿼리 성능을 향상시킬 수 있습니다.
다음 단계
파일 탐색을 완료하고 대상 테이블을 만든 후 다음 방법 중 하나를 사용하여 수집을 진행할 수 있습니다.
- COPY 문을 사용하여 데이터 수집
- 데이터 파이프라인 사용하여 데이터 수집