이벤트 처리 편집기를 사용하셔서 이벤트 데이터를 처리
이벤트 프로세서 편집기는 이벤트 데이터 처리 논리를 디자인하기 위해 끌어서 놓을 수 있는 노코드 환경입니다. 이 문서에서는 편집기를 사용하여 처리 논리를 디자인하는 방법을 설명합니다.
참고 항목
향상된 기능은 지금 eventstream을 만들 때 기본적으로 사용하도록 설정됩니다. 표준 기능을 사용하여 만든 이벤트 스트림이 있는 경우 해당 이벤트 스트림은 계속 작동합니다. 평소처럼 편집하고 사용할 수 있습니다. 향상된 이벤트 스트림의 추가 기능과 이점을 활용할 수 있도록 표준 eventstream을 대체하는 새 Eventstream을 만드는 것이 좋습니다.
필수 조건
시작하기 전에 다음 전제 조건을 완료해야 합니다.
- 패브릭 용량 라이선스 모드(또는 참가자 이상의 권한이 있는 평가판 라이선스 모드)의 작업 영역에 액세스합니다.
편집기를 사용하여 이벤트 처리 디자인
노코드 편집기를 사용하여 데이터 스트림에서 스트림 처리 작업을 수행하려면 다음 단계를 수행합니다.
아직 편집 모드가 아닌 경우 리본에서 편집을 선택합니다. 연결된 작업의 업스트림 노드에 스키마가 있는지 확인합니다.
편집 모드에서 스트림 노드와 목적지 사이에 이벤트 처리 연산자를 삽입하려면 다음 두 가지 방법 중 하나를 사용할 수 있습니다.
연결선에서 직접 연산자를 삽입합니다. 연결선에 커서를 놓고 + 버튼을 선택합니다. 연결선에 드롭다운 메뉴가 나타나고 이 메뉴에서 연산자를 선택할 수 있습니다.
리본 메뉴 또는 캔버스에서 연산자를 삽입합니다.
필드 관리 연산자 노드를 선택합니다. 출력하고 싶으신 필드를 필드 관리 구성 패널에서 선택해 보세요. 모든 필드를 추가하고 싶으신 경우에 모든 필드 추가를 선택해 주세요. 기본 제공 함수와 함께 새 필드를 추가하여 업스트림에서 데이터를 집계할 수도 있습니다. (현재 Microsoft에서 지원하는 기본 제공 함수는 문자열 함수, 날짜 및 시간 함수, 수학 함수의 일부 함수입니다. 해당 함수를 찾아보려면
built-in
을 검색합니다.)필드 관리 연산자를 구성한 후 새로 고침을 선택하여 이 연산자가 생성한 테스트 결과의 유효성을 검사합니다.
구성 오류가 있는 경우 하단 창의 작성 오류 탭에 표시됩니다.
테스트 결과가 올바르면 게시를 선택하여 이벤트 처리 논리를 저장하고 라이브 뷰로 돌아갑니다.
이러한 단계를 완료한 후에는 Eventstream이 라이브 뷰에서 데이터 스트리밍 및 처리를 시작하는 방법을 시각화할 수 있습니다.
이벤트 처리 편집기
이벤트 프로세서 편집기(편집 모드의 캔버스)를 사용하면 데이터를 다양한 목적지로 변환할 수 있습니다. 편집 모드로 들어가 데이터 스트림에 대한 스트림 처리 작업을 디자인합니다.
편집 모드에는 다음을 수행할 수 있는 캔버스 및 하단 창이 있습니다.
- 끌어서 놓기를 사용하여 이벤트 데이터 변환 논리를 빌드합니다.
- 처음부터 끝까지 각 처리 노드에서 테스트 결과를 미리 봅니다.
- 처리 노드 내에서 작성 오류를 검색합니다.
편집기 레이아웃
- 리본 메뉴 및 캔버스(이미지에서 1번): 이 창에서는 이벤트 변환 메뉴에서 연산자를 선택하고 새로 만든 연산자 노드를 통해 스트림과 목적지 노드를 연결하여 데이터 변환 논리를 디자인할 수 있습니다. 연결선을 끌어서 놓거나 연결을 선택하고 삭제할 수 있습니다.
- 오른쪽 편집 창(이미지에서 2번): 이 창을 사용하면 선택한 노드를 구성하거나 스트림 이름을 볼 수 있습니다.
- 데이터 미리 보기 및 작성 오류 탭이 있는 하단 창(이미지에서 3번): 이 창에서는 테스트 결과 탭과 함께 선택한 노드의 테스트 결과를 미리 봅니다. 작성 오류 탭에는 작업 노드의 불완전하거나 잘못된 구성이 나열됩니다.
지원되는 노드 형식 및 예제
다음은 수집 전에 연산자를 추가하기 위해 지원되는 목적지 형식입니다.
- Lakehouse
- Eventhouse(수집 전 이벤트 처리)
- 파생 스트림
- 활성
참고 항목
사전 수집 연산자 추가를 지원하지 않는 목적지의 경우 먼저 파생 스트림을 연산자의 출력으로 추가할 수 있습니다. 그런 다음, 의도한 목적지를 이 파생 스트림에 추가합니다.
레이크하우스 및 KQL 데이터베이스의 이벤트 프로세서(수집 전 이벤트 처리)를 사용하면 데이터를 목적지로 수집하기 전에 처리할 수 있습니다.
필수 조건
시작하기 전에 다음 전제 조건을 완료해야 합니다.
- 패브릭 용량 라이선스 모드(또는 참가자 이상의 권한이 있는 평가판 라이선스 모드)의 작업 영역에 액세스합니다.
- Lakehouse 또는 KQL 데이터베이스가 있는 기여자 이상의 권한이 있는 작업 영역에 액세스합니다.
편집기를 사용하여 이벤트 처리 디자인
이벤트 처리 편집기를 사용하셔서 이벤트 처리를 디자인하기 위해서는:
레이크하우스 대상을 추가하시고 오른쪽 창에서 필요한 매개 변수를 입력해 주세요. (자세한 지침은 이벤트 스트림에서 대상을 추가 및 관리를 확인해 주세요. )
이벤트 처리 열기를 선택해 보세요. 이벤트 처리 편집기 화면이 표시됩니다.
이벤트 처리 편집기 캔버스에서 이벤트 스트림 노드를 선택해 주세요. 오른쪽 이벤트 스트림 창에서 데이터 스키마를 미리 보시거나 데이터 형식을 변경해 보실 수 있습니다.
이벤트 처리 편집기에서 이 이벤트 스트림과 대상 사이의 이벤트 처리 연산자를 삽입하기 위해서는 다음 두 가지 방법 중에서 하나를 사용해 보실 수 있습니다:
연결선에서 직접 연산자를 삽입합니다. 연결선을 마우스로 누르신 다음에 "+" 단추를 선택해 보세요. 연결선에 드롭다운 메뉴가 나타나고 이 메뉴에서 연산자를 선택할 수 있습니다.
리본 메뉴 또는 캔버스에서 연산자를 삽입합니다.
필드 관리 연산자 노드를 선택합니다. 출력하고 싶으신 필드를 필드 관리 구성 패널에서 선택해 보세요. 모든 필드를 추가하고 싶으신 경우에 모든 필드 추가를 선택해 주세요. 기본 제공 함수와 함께 새 필드를 추가하여 업스트림에서 데이터를 집계할 수도 있습니다. (현재, 저희가 지원해 드리는 기본 제공 함수는 문자열 함수, 날짜 및 시간 함수, 수학 함수의 일부입니다. 이 함수를 찾아보시기 위해서는 “내장된.”으로 검색해 보세요.)
필드 관리 연산자를 구성한 후 정적 미리 보기 새로 고침을 선택하여 이 연산자가 생성한 데이터를 미리 봅니다.
구성 오류가 있으신 경우에 하단에서 창의 작성 오류 탭에 표시됩니다.
미리 보기된 데이터가 올바르게 보이시는 경우에 완료를 선택하셔서 이벤트 처리 로직을 저장해 주시고 레이크하우스 대상 구성 화면으로 돌아가 주세요.
추가 를 선택하셔서 레이크하우스 대상 만들기를 완료해 보세요.
이벤트 처리 편집기
이벤트 처리를 사용하시게 되면 수집 중이신 데이터를 레이크하우스 대상으로 변환하실 수 있습니다. 레이크하우스 대상을 구성하실 때 레이크하우스 대상 구성 화면 중간에서 이벤트 처리 열기 옵션이 표시됩니다.
이벤트 프로세서 열기를 선택하시게 되면 데이터 변환 논리를 정의내리실 수 있는 이벤트 처리 편집기 화면이 시작되게 됩니다.
이벤트 처리 편집기에서는 다음의 작업을 실행해 보실 수 있는 캔버스 및 하단에서 창이 포함됩니다:
- 끌어서 놓기를 사용하여 이벤트 데이터 변환 논리를 빌드합니다.
- 처음부터 끝까지 각 처리 노드에 대한 데이터를 미리봐 주세요.
- 처리 노드 내에서 작성 오류를 검색합니다.
화면 레이아웃은 기본 편집기와 같습니다. 다음 이미지에 표시되어 있는 세 개의 섹션으로 구성되어 집니다:
다이어그램 보기가 있는 캔버스: 이 창에서는 작업 메뉴에서 연산자 (작업 메뉴에서)를 선택해 주시고 새롭게 만든 연산자 노드를 통해서 이벤트 스트림 및 대상 노드를 연결하셔서 데이터 변환 논리를 디자인해보실 수 있습니다. 연결선을 끌어서 놓거나 연결을 선택하고 삭제할 수 있습니다.
오른쪽 편집 창: 이 창을 사용하시게 되면 선택하신 작업 노드를 구성해 보시거나 이벤트 스트림 및 대상의 스키마를 보실 수 있습니다.
데이터 미리 보기 및 작성 오류 탭이 있는 하단의 창: 이 창에서 데이터 미리 보기 탭을 가지고 있는 선택하신 노드의 데이터를 미리 봐주세요. 작성 오류탭에는 작업 노드의 불완전하거나 구성이 잘못되어 나열됩니다.
작성 오류
작성 오류는 작업 노드의 불완전하거나 잘못된 구성 때문에 이벤트 처리 편집기에서 발생하게 되는 오류를 의미하고 있으며, 이벤트 처리에서 잠재적인 문제를 찾아보시고 해결하시는 것에 도움을 드립니다.
이벤트 처리 편집기의 하단 패널에서 작성 오류를보실 수 있습니다. 하단 패널에서는 모든 작성 오류가 나열되고, 4개의 열은 각 작성 오류에 있습니다:
- 노드 ID: 작성 오류가 발생한 작업 노드의 ID를 나타내 줍니다.
- 노드 유형: 작성 오류가 발생한 작업 노드의 형식을 나타내 줍니다.
- 수준: 작성 오류의 심각도를 나타내 줍니다. 두 가지 수준으로 심각한 오류와 정보가 있습니다. 심각한 수준의 작성 오류에서는 이벤트 처리에서 심각한 문제가 있으며 저장하시거나 실행하실 수 없다는 점을 의미하는 것입니다. 정보 수준 작성 오류에서는 이벤트 처리에 이벤트 처리를 최적화하시거나 개선하시는 것에 도움을 드리는팁이나 제안이 몇 가지 있다는 것을 의미하는 것입니다.
- 오류: 작성 오류에 대한 특정한 정보를 나타내 주며 원인 및 영향을 간략하게 설명해 드립니다. 세부 정보 표시 탭을 선택하여 세부 정보를 볼 수 있습니다.
Eventstream 및 Eventhouse는 다양한 데이터 형식을 지원하므로 데이터 형식 변환 프로세스에서 작성 오류가 발생할 수 있습니다.
다음 표에서는 Eventstream에서 Eventhouse로 데이터 형식 변환의 결과를 보여 있습니다. 열은 Eventstream에서 지원하는 데이터 형식을 나타내고 행은 Eventhouse에서 지원하는 데이터 형식을 나타냅니다. 셀은 변환 결과를 나타내며 다음 세 가지 중 하나일 수 있습니다.
✔️ 아이콘은 변환 성공을 나타내며 오류 또는 경고는 생성되지 않습니다.
❌ 아이콘은 불가능한 변환을 나타내며 심각 수준의 작성 오류가 생성됩니다. 오류 메시지는 다음과 비슷합니다. "{1}" 열의 데이터 형식("{0}")이 선택한 KQL 테이블의 예상 형식("{2}")과 일치하지 않으며 자동 변환할 수 없습니다.
⚠️ 아이콘은 변환이 가능하지만 부정확함을 나타내며 정보 수준의 작성 오류가 생성됩니다. 오류 메시지는 다음과 비슷합니다. "{1}" 열의 데이터 형식("{0}")이 선택한 KQL 테이블의 예상 형식("{2}")과 정확히 일치하지 않습니다. "{2}" 형식으로 자동 변환됩니다.
string | 부울 | 날짜/시간 | dynamic | guid | int | long | real | timespan | decimal | |
---|---|---|---|---|---|---|---|---|---|---|
Int64 | ❌ | ❌ | ❌ | ✔️ | ❌ | ⚠️ | ✔️ | ⚠️ | ❌ | ✔️ |
이중 | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ⚠️ | ❌ | ⚠️ |
String | ✔️ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
날짜/시간 | ⚠️ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
녹음 | ⚠️ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
배열 | ⚠️ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
표에 표시된 대로, 일부 데이터 형식 변환(예: 문자열에서 문자열)이 성공합니다. 이러한 변환은 작성 오류를 생성하지 않으며 이벤트 프로세서의 작업에 영향을 주지 않습니다.
일부 데이터 형식 변환(예: int에서 문자열)은 불가능합니다. 이러한 변환은 심각한 수준의 작성 오류를 발생하여 이벤트 처리를 저장에 실패하게 만들게 됩니다. 이러한 오류를 방지하기 위해서 이벤트 스트림 혹은 KQL 테이블에서 데이터 형식을 변경해 주셔야 합니다.
int에서 실제로 변화하는 등 일부 데이터 형식 변환은 불가능합니다. 이러한 변환은 데이터 형식과 자동 변환 결과 간의 불일치를 나타내는 정보 수준의 작성 오류를 생성합니다. 이러한 변환으로 인해 데이터의 정밀도 또는 구조가 손실될 수 있습니다. 이러한 오류를 무시할지 아니면 Eventstream 또는 KQL 테이블에서 데이터 형식을 수정하여 이벤트 프로세서를 최적화할지 선택할 수 있습니다.
변환 연산자
이벤트 처리는 비즈니스 요구에 따라서 이벤트 데이터를 변환하시기 위해 사용하실 수 있는 연산자 6개를 제공해 드립니다.
집계
집계 변환을 사용하여 일정 기간 새 이벤트가 발생할 때마다 집계(합계, 최소, 최대 또는 평균)를 계산합니다. 또한 이 작업을 통해 계산 열의 이름을 바꾸고 데이터의 다른 차원을 기반으로 집계를 필터링하거나 분할할 수 있습니다. 동일한 변환에 하나 이상의 집계가 있을 수 있습니다.
- 연산자 이름: 집계 작업의 이름을 지정합니다.
- 집계 함수 추가: 집계 작업에 하나 이상의 집계를 추가합니다.
- 형식: 집계 유형(합계, 최소값, 최대값 또는 평균)을 선택합니다.
- 필드: 처리할 열을 선택합니다.
- 이름: 이 집계 함수의 이름을 정의합니다.
- 파티션 기준: 집계를 그룹화할 열을 선택합니다.
- 마지막 값 내의 집계 값: 집계에 대한 시간 창을 지정합니다(기본값은 5초).
Expand
배열 확장 변환을 사용하여 배열 내의 각 값에 대한 새 행을 만듭니다. 누락/빈 배열에 대한 행 만들기를 선택하거나 누락/빈 배열에 대한 행을 만들지 않을 수 있습니다.
필터
필터 변환을 사용하여 입력의 필드 값에 따라 이벤트를 필터링합니다. 데이터 형식 (숫자 혹은 텍스트) 에 따라서 변환은 null 이거나 혹은 null이 아닌 것과 함께 선택하신 조건과 일치하고 있는 값으로 유지해 주세요.
그룹 기준
그룹화 기준 변환을 사용하여 특정 시간 범위 내의 모든 이벤트에 대한 집계를 계산합니다. 하나 이상의 필드에 있는 값을 기준으로 그룹화할 수 있습니다. 집계 변환을 통해서 열 이름을 변경하실 수는 있겠지만 집계에 더 많은 옵션을 제공하시고 기간에 대한 더 복잡한 옵션이 포함되는 것과 같은 것입니다. 집계도 이와 마찬가지로 변환당 두 개 이상의 집계를 추가하실 수 있습니다.
변환에서 사용할 수 있는 집계는 다음과 같습니다.
- 평균
- Count
- 최댓값
- 최소
- 백분위수(연속 및 불연속)
- 표준 편차
- Sum
- Variance
실시간 스트리밍 시나리오에서 임시 창에 포함된 데이터에서 작업을 수행하는 것은 일반적인 패턴입니다. 이벤트 절차는 연산자 별로 그룹 과 통합되어 지는 윈도우 함수를 지원해 드립니다. 이 연산자에 대한 설정에서 정의하실 수 있습니다.
필드 관리
필드 관리 변환을 사용하면 데이터 형식을 추가, 제거, 변경하거나 입력 또는 다른 변환에서 수신되는 필드의 이름을 바꿀 수 있습니다. 측면 창의 설정에서는 필드 추가를 선택하여 새 필드를 추가하거나 여러 필드를 추가하거나 한 번에 모든 필드를 추가하는 옵션을 제공합니다.
기본 제공 함수로 새로운 필드를 추가하셔서 업스트림에서 데이터를 집계해 보실 수도 있습니다. (현재 Microsoft에서 지원하는 기본 제공 함수는 문자열 함수, 날짜 및 시간 함수, 수학 함수의 일부 함수입니다. 해당 함수를 찾아보려면 "기본 제공"을 검색합니다.)
다음 표에서는 필드 관리를 사용하여 데이터 형식을 변경한 결과를 보여줍니다. 열은 원래 데이터 형식을 나타내고 행은 대상 데이터 형식을 나타냅니다.
- 셀에 ✔️ 아이콘이 있는 경우 직접 변환할 수 있으며 대상 데이터 형식 옵션이 드롭다운 목록에 표시됨을 나타냅니다.
- 셀에 ❌ 아이콘이 있는 경우 변환할 수 없으며 대상 데이터 형식 옵션이 드롭다운 목록에 표시되지 않음을 나타냅니다.
- 셀에 ️⚠ 아이콘이 있는 경우 변환할 수 있지만 특정 조건(예: 문자열 형식이 대상 데이터 형식의 요구 사항을 준수해야 함)을 충족해야 합니다. 예를 들어 문자열에서 int로 변환할 때 문자열은 유효한 정수 양식(예:
123
형식이 아닌abc
)이어야 합니다.
Int64 | 두 배 | 문자열 | DateTime | 녹음 | 배열 | |
---|---|---|---|---|---|---|
Int64 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
이중 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
String | ⚠️ | ⚠️ | ✔️ | ⚠️ | ❌ | ❌ |
날짜/시간 | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ |
녹음 | ❌ | ❌ | ✔️ | ❌ | ✔️ | ❌ |
배열 | ❌ | ❌ | ✔️ | ❌ | ❌ | ✔️ |
Union
합집합 변환을 사용하여 두 개 이상의 노드를 연결하고 공통 필드(동일한 이름 및 데이터 형식을 가짐)가 있는 이벤트를 하나의 테이블에 추가합니다. 일치하지 않는 필드는 삭제되고 출력에 포함되지 않습니다.
Join
조인 변환을 사용하여 선택한 필드 쌍에 따라 두 입력의 이벤트를 결합합니다. 필드 쌍을 선택하지 않는 경우 기본적으로 조인은 시간을 기준으로 합니다. 기본값은 이 변환을 일괄 처리 변환과 다르게 만드는 것입니다.
일반 조인과 마찬가지로 조인 논리에 대한 옵션이 있습니다.
- 내부 조인: 쌍이 일치하는 두 테이블의 레코드만 포함합니다.
- 왼쪽 우선 외부 조인: 왼쪽(첫 번째) 테이블의 모든 레코드와 두 번째 테이블에서 필드 쌍과 일치하는 레코드만 포함합니다. 일치하는 항목이 없으면 두 번째 입력의 필드가 빈 상태입니다.