적용 대상: Microsoft Fabric의✅ Warehouse
OPENROWSET 함수를 사용하면 Parquet 또는 CSV 파일의 내용을 읽고 데이터를 행 집합으로 반환할 수 있습니다. 파일은 Azure Blob Storage, Azure Data Lake Storage 또는 Fabric OneLake에 저장할 수 있습니다.
Important
OPENROWSET 함수를 사용하여 Fabric OneLake 스토리지에서 파일을 읽는 기능은 현재 미리 보기로 제공됩니다.
이 기능을 사용하여 데이터 웨어하우스 테이블에 로드하기 전에 파일 내용을 검사할 수 있습니다. 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
이 데이터는 공개적으로 사용할 수 있으며 인증이 필요하지 않으므로 이 쿼리를 패브릭 웨어하우스에 쉽게 복사하여 변경하지 않고 실행할 수 있습니다.
인증 세부 정보가 필요하지 않습니다.
FORMAT
함수는 URI의 OPENROWSET
파일 확장자를 기반으로 Parquet 형식을 읽고 있다고 가정하므로 .parquet
옵션을 지정할 필요가 없습니다.
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
이 데이터는 공개적으로 사용할 수 있으며 인증이 필요하지 않으므로 이 쿼리를 패브릭 웨어하우스에 쉽게 복사하여 변경하지 않고 실행할 수 있습니다. 인증 세부 정보가 필요하지 않습니다.
FORMAT
함수는 URI의 파일 확장자에 따라 OPENROWSET
형식을 읽고 있다고 가정하기 때문에 CSV
옵션을 지정할 필요가 없습니다.
Note
결과에서 이 파일의 첫 번째 행에 데이터 대신 열 이름이 포함되어 있음을 알 수 있습니다. 이 경우 HEADER_ROW 옵션을 사용하여 쿼리를 수정하여 행을 건너뛰고 열 이름에만 사용해야 합니다. 기본 데이터와 일치할 때까지 파일을 점진적으로 조정하므로 이는 데이터 탐색 프로세스의 일부입니다.
OPENROWSET 함수를 사용하여 JSONL 파일 찾아보기
이 OPENROWSET(BULK)
함수를 사용하면 줄로 구분된 형식으로 JSON 파일을 찾아볼 수 있습니다.
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.jsonl') AS data
파일에 각 줄이 유효한 JSON 문서를 포함하는 줄로 구분된 텍스트가 있을 경우, OPENROWSET
함수를 사용하여 직접 읽을 수 있습니다.
옵션을 명시적으로 지정할 FORMAT
필요가 없습니다. 이 파일은 OPENROWSET
URI와 같은 일반적인 파일 확장명(예: .jsonl
.ldjson
.ndjson
URI)에 따라 JSONL 형식을 자동으로 유추합니다. 그러나 이 형식에 다른 파일 확장자를 사용하는 경우 올바른 구문 분석을 위해 지정 FORMAT = 'jsonl'
해야 합니다.
Note
JSONL
형식은 현재 프리뷰 상태입니다.
Fabric OneLake에서 파일 읽기
이 OPENROWSET(BULK)
함수를 사용하면 Fabric OneLake에 저장된 파일을 읽을 수 있습니다. 파일이 레이크하우스의 파일 섹션에 저장된 경우, 다음 구문을 사용하여 이 파일을 읽을 수 있습니다.
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://onelake.dfs.fabric.microsoft.com/<workspaceId>/<lakehouseId>/Files/latest/bing_covid-19_data.jsonl') AS data
<workspaceId>
및 <lakehouseId>
를 패브릭 작업 영역 URI에서 찾을 수 있는 작업 영역 및 Lakehouse GUID로 바꾸세요. Lakehouse의 /Files
섹션에 파일을 참조하고 있는지 확인하십시오.
Important
OPENROWSET 함수를 사용하여 Fabric OneLake 스토리지에서 파일을 읽는 기능은 현재 미리 보기로 제공됩니다. 에 적용할 수 있는 COPY INTO
확인합니다OPENROWSET(BULK)
.
사용자 지정 텍스트 파일 읽기
이 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
함수를 사용하여 쿼리를 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
절에 제공된 형식을 명시적으로 할당합니다.
이렇게 하면 보다 정확한 형식을 정의하여 쿼리 성능을 향상시킬 수 있습니다.
Next steps
파일 탐색을 완료하고 대상 테이블을 만든 후 다음 방법 중 하나를 사용하여 수집을 진행할 수 있습니다.
- COPY 문을 사용하여 데이터 수집
- 데이터 파이프라인 사용하여 데이터 수집