다음을 통해 공유


웨어하우스에 데이터 수집

적용 대상✅: Microsoft Fabric 내 Warehouse

Microsoft Fabric의 Warehouse는 사용자가 코드가 없거나 코드가 풍부한 환경을 사용하여 대규모로 웨어하우스에 데이터를 수집할 수 있는 기본 제공 데이터 수집 도구를 제공합니다.

데이터 수집 옵션

다음 옵션 중 하나를 사용하여 웨어하우스에 데이터를 수집할 수 있습니다.

  • COPY(Transact-SQL): COPY 문은 외부 Azure Storage 계정에서 유연하고 처리량이 높은 데이터 수집을 제공합니다. Transact-SQL 코드에서 기존 ETL/ELT 논리의 일부로 COPY 문을 사용할 수 있습니다.
  • 데이터 파이프라인: 파이프라인은 데이터 수집을 위한 코드가 없거나 낮은 코드 환경을 제공합니다. 파이프라인을 사용하면 대상 환경을 준비하거나, 사용자 지정 Transact-SQL 문을 실행하거나, 조회를 수행하거나, 원본에서 대상으로 데이터를 복사하는 데 도움이 되는 활동을 포함하는 전체 ETL(추출, 변환, 로드) 환경을 위한 강력한 워크플로를 오케스트레이션할 수 있습니다.
  • 데이터 흐름: 파이프라인 대신 데이터 흐름을 사용하면 코드 없는 환경을 사용하여 손쉬운 데이터 준비, 정리 및 변환을 수행할 수 있습니다.
  • 웨어하우스 간 수집: 작업 영역 원본에서 데이터를 수집할 수도 있습니다. 이 시나리오는 다른 테이블의 하위 집합을 사용하여 새 테이블을 만들어야 하거나 웨어하우스와 레이크하우스에서 다른 테이블을 조인한 결과로 필요할 수 있습니다. 웨어하우스 간 수집의 경우 언급된 옵션 외에도 INSERT와 같은 Transact-SQL 기능... SELECT, SELECT INTO 또는 CREATE TABLE AS SELECT(CTAS) 는 동일한 작업 영역 내에서 웨어하우스 간 작업을 수행합니다.

사용할 데이터 수집 도구 결정

사용할 데이터 수집 옵션을 결정하려면 다음 조건을 사용할 수 있습니다.

  • 코드가 풍부한 데이터 수집 작업, 가능한 가장 높은 데이터 수집 처리량 또는 Transact-SQL 논리의 일부로 데이터 수집을 추가해야 하는 경우 COPY(Transact-SQL) 문을 사용합니다. 구문은 COPY INTO(Transact-SQL)를 참조하세요.
  • 일정에 따라 반복적으로 실행되거나 대량의 데이터가 포함된 코드가 없거나 코드가 부족하고 강력한 데이터 수집 워크플로에 데이터 파이프라인을 사용합니다. 자세한 내용은 데이터 파이프라인을 사용하여 데이터 수집을 참조 하세요.
  • 수집되기 전에 원본 데이터에 대한 사용자 지정 변환을 허용하는 코드 없는 환경에 데이터 흐름을 사용합니다. 이러한 변환에는 데이터 형식 변경, 열 추가 또는 제거 또는 함수를 사용하여 계산 열을 생성하는 것이 포함됩니다(이에 국한되지 않음). 자세한 내용은 데이터 흐름을 참조 하세요.
  • 코드가 풍부한 환경에 대해 웨어하우스 간 수집을 사용하여 동일한 작업 영역 내에서 원본 데이터가 있는 새 테이블을 만듭니다. 자세한 내용은 Transact-SQL 을 사용하여 데이터 수집 및 데이터베이스 간 쿼리 작성을 참조하세요.

참고 항목

Warehouse의 COPY 문은 Azure Storage 계정의 데이터 원본만 지원하며 OneLake 원본은 현재 지원되지 않습니다.

지원되는 데이터 형식 및 원본

Microsoft Fabric의 Warehouse에 대한 데이터 수집은 사용할 수 있는 방대한 데이터 형식 및 원본을 제공합니다. 설명된 각 옵션에는 지원되는 데이터 커넥터 형식 및 데이터 형식의 자체 목록이 포함됩니다.

웨어하우스 간 수집의 경우 데이터 원본은 동일한 Microsoft Fabric 작업 영역 내에 있어야 합니다. 쿼리는 원본 데이터에 대해 세 부분으로 구성된 이름을 사용하여 수행할 수 있습니다.

예를 들어 작업 영역에 인벤토리 및 Sales라는 두 개의 웨어하우스가 있다고 가정합니다. 다음과 같은 쿼리는 인벤토리 웨어하우스에 Sales Warehouse의 테이블과 조인된 인벤토리 웨어하우스의 테이블 내용과 함께 새 테이블을 만듭니다.

CREATE TABLE Inventory.dbo.RegionalSalesOrders
AS
SELECT s.SalesOrders, i.ProductName
FROM Sales.dbo.SalesOrders s
JOIN Inventory.dbo.Products i
WHERE s.ProductID = i.ProductID
    AND s.Region = 'West region'

COPY(Transact-SQL) 문은 현재 PARQUET 및 CSV 파일 형식을 지원합니다. 데이터 원본의 경우 현재 ADLS(Azure Data Lake Storage) Gen2 및 Azure Blob Storage가 지원됩니다.

데이터 파이프라인 및 데이터 흐름은 다양한 데이터 원본 및 데이터 형식을 지원합니다. 자세한 내용은 데이터 파이프라인 및 데이터 흐름을 참조하세요.

모범 사례

Microsoft Fabric의 Warehouse의 COPY 명령 기능은 SQL 워크로드에 대한 처리량이 높은 데이터 수집을 위해 간단하고 유연하며 빠른 인터페이스를 사용합니다. 현재 버전에서는 외부 스토리지 계정에서만 데이터 로드를 지원합니다.

TSQL을 사용하여 새 테이블을 만든 다음 삽입한 다음 데이터 행을 업데이트 및 삭제할 수도 있습니다. 데이터베이스 간 쿼리를 사용하여 Microsoft Fabric 작업 영역 내의 모든 데이터베이스에서 데이터를 삽입할 수 있습니다. Lakehouse에서 웨어하우스로 데이터를 수집하려는 경우 데이터베이스 간 쿼리를 사용하여 이 작업을 수행할 수 있습니다. 예시:

INSERT INTO MyWarehouseTable
SELECT * FROM MyLakehouse.dbo.MyLakehouseTable;
  • 단일 INSERT 문을 사용하여 데이터를 수집하지 마세요. 이로 인해 쿼리 및 업데이트의 성능이 저하됩니다. Singleton INSERT 문이 연속적으로 데이터 수집에 사용된 경우 CTAS(CREATE TABLE AS SELECT) 또는 INSERT...를 사용하여 새 테이블을 만드는 것이 좋습니다. SELECT 패턴을 사용하여 원래 테이블을 삭제한 다음 CTAS(CREATE TABLE AS SELECT)를 사용하여 만든 테이블에서 테이블을 다시 만듭니다.
    • 기존 테이블을 삭제하면 의미 체계 모델에 대한 사용자 지정 측정값 또는 사용자 지정을 포함하여 의미 체계 모델에 영향을 줍니다.
  • 파일에서 외부 데이터를 사용하는 경우 파일 크기가 4MB 이상인 것이 좋습니다.
  • 압축된 큰 CSV 파일의 경우 파일을 여러 파일로 분할하는 것이 좋습니다.
  • ADLS(Azure Data Lake Storage) Gen2는 Azure Blob Storage(레거시)보다 더 나은 성능을 제공합니다. 가능하면 ADLS Gen2 계정을 사용하는 것이 좋습니다.
  • 자주 실행되는 파이프라인의 경우 동일한 파일에 동시에 액세스할 수 있는 다른 서비스에서 Azure Storage 계정을 격리하는 것이 좋습니다.
  • 명시적 트랜잭션을 사용하면 트랜잭션이 완전히 커밋된 경우 하나 이상의 테이블을 읽을 때만 표시되도록 여러 데이터 변경 내용을 그룹화할 수 있습니다. 또한 변경 내용이 실패하는 경우 트랜잭션을 롤백할 수 있습니다.
  • SELECT가 트랜잭션 내에 있고 데이터 삽입 이 선행된 경우 롤백 후에 자동으로 생성된 통계가 정확하지 않을 수 있습니다. 통계가 정확하지 않으면 쿼리 계획 및 실행 시간이 잘못될 수 있습니다. 큰 INSERT 후에 SELECT를 사용하여 트랜잭션을 롤백하는 경우 SELECT에 언급된 열에 대한 통계 를 업데이트합니다.

참고 항목

데이터를 웨어하우스로 수집하는 방법에 관계없이 데이터 수집 태스크에서 생성된 parquet 파일은 V-Order 쓰기 최적화를 사용하여 최적화됩니다. V-Order는 Power BI, SQL, Spark 등과 같은 Microsoft Fabric 컴퓨팅 엔진에서 빠른 읽기를 사용하도록 parquet 파일을 최적화합니다. 일반적으로 웨어하우스 쿼리는 이 최적화를 통해 쿼리를 더 빠르게 읽을 수 있으므로 parquet 파일이 오픈 소스 사양을 100% 준수하도록 보장합니다. Fabric 데이터 엔지니어ing과 달리 V-Order는 Synapse Data Warehouse에서 비활성화할 수 없는 전역 설정입니다. V 주문에 대한 자세한 내용은 Warehouse용 V 주문 이해 및 관리를 참조하세요.