다음을 통해 공유


웨어하우스에 데이터 수집

적용 대상:✅ Microsoft Fabric 내 웨어하우스

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

데이터 수집 옵션

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

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

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

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

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

참고 항목

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

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

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

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

예를 들어 작업 영역에 Inventory와 Sales라는 두 개의 웨어하우스가 있다고 가정합니다. 다음과 같은 쿼리는 Inventory 웨어하우스의 테이블 내용을 Sales 웨어하우스의 테이블과 결합하여 Inventory 웨어하우스에 새 테이블을 만듭니다.

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

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

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

참고 항목

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