이벤트 스트림에 레이크하우스 목적지 추가
이 문서에서는 Microsoft Fabric 이벤트 스트림의 이벤트 스트림에 레이크하우스를 대상으로 추가하는 방법을 보여 줍니다. 최적화된 스트리밍 성능 및 실시간 쿼리의 경우 Eventhouse 대상을 Eventstream에 추가한 다음 Eventhouse OneLake 가용성을 사용하도록 설정하여 Eventhouse로 데이터를 스트리밍하는 것이 좋습니다.
참고
향상된 기능은 지금 eventstream을 만들 때 기본적으로 사용하도록 설정됩니다. 표준 기능을 사용하여 만든 이벤트 스트림이 있는 경우 해당 이벤트 스트림은 계속 작동합니다. 평소처럼 편집하고 사용할 수 있습니다. 향상된 이벤트 스트림의 추가 기능과 이점을 활용할 수 있도록 표준 eventstream을 대체하는 새 Eventstream을 만드는 것이 좋습니다.
중요
레이크하우스 대상 테이블에 데이터를 기록하기 위한 스키마 강제 적용이 있습니다. 테이블에 대한 모든 새 작성은 작성 시 대상 테이블의 스키마와 호환되어야 하므로 데이터 품질이 보장됩니다.
출력이 새 델타 테이블에 기록되면 첫 번째 레코드를 사용하여 테이블 스키마가 만들어집니다. 출력 데이터의 모든 레코드는 기존 테이블의 스키마에 프로젝팅됩니다.
기존 테이블 스키마에 없는 열이 수신 데이터에 있는 경우, 테이블에 기록된 데이터에 추가 열이 포함되지 않습니다. 마찬가지로 기존 테이블 스키마에 있는 열이 수신 데이터에 없는 경우, 누락된 열은 값이 null로 설정된 테이블에 씁니다.
필수 조건
- Fabric 용량 라이선스 모드 또는 참가자 이상의 권한이 있는 평가판 라이선스 모드에서 작업 영역에 액세스합니다.
- 참가자 이상의 권한을 사용하여 Lakehouse가 위치한 작업 영역에 접근하세요.
참고
하나의 이벤트 스트림에 대한 최대 원본 및 대상 수는 11개입니다.
목적지로 레이크하우스를 추가
레이크하우스 대상을 기본 또는 파생 이벤트 스트림에 추가하려면 다음 단계를 수행합니다.
이벤트 스트림 편집 모드의 리본에서 대상 추가를 선택하고 드롭다운 목록에서 Lakehouse를 선택합니다.
레이크하우스 노드를 스트림 노드 또는 연산자에 연결합니다.
Lakehouse 구성 화면에서 다음 정보를 완료합니다.
- 대상 이름을 입력합니다.
- 레이크하우스가 포함된 작업 영역을 선택합니다.
- 지정한 작업 영역에서 기존 Lakehouse 를 선택합니다.
- 데이터를 수신하려면 기존 Delta 테이블을 선택하거나 새 테이블을 만듭니다.
- 레이크하우스로 전송되는 입력 데이터 형식을 선택합니다. 지원되는 데이터 형식은 JSON, Avro 및 CSV(헤더 포함)입니다.
고급을 선택합니다.
레이크하우스를 위한 두 가지 데이터 수집 모드가 제공됩니다. 시나리오에 따라 이러한 모드를 구성하여 Fabric 이벤트 스트림이 레이크하우스에 작성하는 방식을 최적화합니다.
최소 행은 레이크하우스가 단일 파일에서 수집하는 최소 행의 수입니다. 최소값은 1행이고 최대값은 파일당 2백만 행입니다. 최소 행 수가 적을수록 데이터 레이크하우스가 수집 중에 만드는 파일의 수가 많아집니다.
최대 기간은 레이크하우스가 단일 파일을 수집하는 데 걸리는 최대 기간 입니다. 최소값은 1분이고 최대값은 2시간입니다. 기간이 길수록 파일에 더 많은 행이 수집됩니다.
저장을 선택합니다.
새로 추가된 레이크하우스 대상을 구현하려면 게시를 선택합니다.
이러한 단계를 완료하면 라이브 뷰에서 레이크하우스 대상을 시각화할 수 있습니다. 세부 정보 창에서 Notebook 테이블 최적화 바로가기를 선택하여 대상 레이크하우스 테이블 내의 작은 스트리밍 파일을 통합하는 Notebook 내부의 Apache Spark 작업을 시작할 수 있습니다.
참고
Eventstream을 구성할 때 원본, 변환 논리 및 대상은 일반적으로 함께 추가됩니다. 기본적으로 Eventstream을 게시할 때 데이터 수집 및 데이터 라우팅에 대한 백 엔드 서비스는 각각 Now 시작합니다. 그러나 데이터 수집은 데이터 라우팅보다 빠르게 시작될 수 있으므로 라우팅이 완전히 초기화되기 전에 일부 데이터가 Eventstream으로 수집됩니다. 따라서 이 데이터는 대상으로 라우팅되지 않을 수 있습니다.
일반적인 예로는 초기 스냅샷 데이터가 대상에 라우팅되지 않고 Eventstream에 남아 있을 수 있는 데이터베이스 CDC 원본이 있습니다.
이를 완화하려면 다음 단계를 수행합니다.
Eventhouse(수집 전 이벤트 처리) 또는 Lakehouse 대상을 구성할 때, 데이터 원본을 추가한 후 수집 활성화를 선택 해제하십시오.
Eventstream이 게시된 후 수집을 수동으로 활성화하세요.
사용자 지정 시간 옵션을 사용하여 초기 데이터가 올바르게 처리되고 라우팅되도록 이전 타임스탬프를 선택합니다.
자세한 내용은 데이터 스트림 일시 중지 및 다시 시작을 참조하십시오.
관련 콘텐츠
Eventstream에 다른 대상을 추가하는 방법을 알아보려면 다음 문서를 참조하세요.
필수 조건
시작하기 전에 다음 전제 조건을 완료해야 합니다.
- 패브릭 용량 라이선스 모드(또는 참가자 이상의 권한이 있는 평가판 라이선스 모드)의 작업 영역에 액세스합니다.
- lakehouse가 위치한 작업 영역에 기여자 이상의 권한으로 액세스하십시오.
참고
하나의 이벤트 스트림에 대한 최대 원본 및 대상 수는 11개입니다.
레이크하우스를 목적지로 추가
작업 영역에서 레이크하우스를 만들었다면 다음 단계에 따라 이벤트 스트림에 레이크하우스를 대상으로 추가합니다.
리본에서 새 대상을 선택하거나 기본 편집기 캔버스에서 "+" 선택 후, Lakehouse를 선택합니다. 레이크하우스 대상 구성 화면이 나타납니다.
이벤트 스트림 대상의 이름을 입력하고 레이크하우스에 대한 정보를 완료합니다.
Lakehouse: 지정한 작업 영역에서 기존 레이크하우스를 선택합니다.
델타 테이블: 데이터를 수신하려면 기존 델타 테이블을 선택하거나 새 테이블을 만듭니다.
참고
레이크하우스 테이블에 데이터를 쓸 때 스키마 적용이 있습니다. 즉, 테이블에 대한 모든 신규 쓰기는 쓰기 시점에 대상 테이블의 스키마와 호환되어 데이터 품질을 보장해야 합니다.
출력 데이터의 모든 레코드는 기존 테이블의 스키마에 프로젝팅됩니다. 새 델타 테이블에 출력을 작성할 때 첫 번째 레코드를 기준으로 테이블 스키마가 만들어집니다. 기존 테이블 스키마에 없는 열이 수신 데이터에 있는 경우, 추가된 열을 포함하지 않고 테이블에 작성합니다. 반대로 기존 테이블 스키마에 있는 열이 수신 데이터에 없는 경우, 열의 값이 null로 설정된 테이블에 작성합니다.
입력 데이터 형식: 레이크하우스로 전송되는 데이터(입력 데이터)의 형식을 선택합니다.
참고
지원되는 입력 이벤트 데이터 형식은 JSON, Avro 및 CSV(헤더 포함)입니다.
이벤트 처리: 이벤트 처리 편집기를 사용하여 레이크하우스로 보내기 전에 데이터를 처리하는 방법을 지정할 수 있습니다. 이벤트 프로세서 열기를 선택하여 이벤트 처리 편집기를 엽니다. 이벤트 프로세서를 사용한 실시간 처리에 대한 자세한 내용은 이벤트 절차 편집기를 가지고 있는 이벤트 데이터 처리를 참조하세요. 편집기를 마쳤으면 완료를 선택하여 레이크하우스 대상 구성 화면으로 돌아갑니다.
레이크하우스 목적지에는 두 가지 수집 모드가 제공됩니다. 이러한 모드 중 하나를 선택하여 Fabric 이벤트 스트림 기능이 시나리오에 따라 레이크하우스에 작성하는 방식을 최적화합니다.
추가를 선택하여 레이크하우스 대상을 추가합니다.
레이크하우스 대상 내에서 사용할 수 있는 테이블 최적화 바로 가기입니다. 이 솔루션은 Notebook 내에서 Spark 작업을 시작하여 이러한 작은 스트리밍 파일을 대상 Lakehouse 테이블 내에서 통합함으로써 쉽게 수행할 수 있습니다.
캔버스에 상태를 표시하는 회전 아이콘과 함께 호숫가 목적지가 나타납니다. 시스템이 상태를 활성으로 변경하려면 몇 분 정도 걸립니다.
목적지 관리
편집/제거: 탐색 창 또는 캔버스를 통해 이벤트 스트림 대상을 편집하거나 제거할 수 있습니다.
편집을 선택하면 편집 창이 주 편집기의 오른쪽에 열립니다. 이벤트 프로세서 편집기를 통해 이벤트 변환 논리를 포함하여 원하는 대로 구성을 수정할 수 있습니다.
관련 콘텐츠
Eventstream에 다른 대상을 추가하는 방법을 알아보려면 다음 문서를 참조하세요.