다음을 통해 공유


이벤트 프로세서 편집기를 사용하여 이벤트 데이터 처리

이벤트 프로세서 편집기는 이벤트 데이터 처리 논리를 디자인하기 위해 끌어서 놓을 수 있는 코드 없는 환경입니다. 이 문서에서는 편집기를 사용하여 처리 논리를 디자인하는 방법을 설명합니다.

참고 항목

미리 보기에 있는 향상된 기능을 사용하려면 맨 위에 있는 향상된 기능을 선택합니다. 그렇지 않으면 표준 기능을 선택합니다. 미리 보기로 제공되는 향상된 기능에 대한 자세한 내용은 패브릭 이벤트 스트림 소개를 참조 하세요.

필수 조건

시작하기 전에 다음 필수 구성 요소를 완료해야 합니다.

  • Eventstream이 있는 기여자 이상의 권한이 있는 프리미엄 작업 영역에액세스합니다.

Important

패브릭 이벤트 스트림의 향상된 기능은 현재 미리 보기로 제공됩니다.

편집기를 사용하여 이벤트 처리 디자인

코드 없음 편집기를 사용하여 데이터 스트림에서 스트림 처리 작업을 수행하려면 다음 단계를 수행합니다.

  1. 편집 모드가 아직 없는 경우 리본에서 편집을 선택합니다. 연결된 작업에 대한 업스트림 노드에 스키마가 있는지 확인합니다.

    편집 모드의 이벤트 프로세서 편집기를 보여 주는 스크린샷

  2. 편집 모드에서 스트림 노드와 대상 사이에 이벤트 처리 연산자를 삽입하려면 다음 두 가지 방법 중 하나를 사용할 수 있습니다.

    • 연결선에서 직접 연산자를 삽입합니다. 연결선을 마우스로 가리킨 다음 단추를 선택합니다 + . 연결선에 드롭다운 메뉴가 나타나고 이 메뉴에서 연산자를 선택할 수 있습니다.

      연결선의 + 단추 선택을 보여 주는 스크린샷

    • 리본 메뉴 또는 캔버스에서 연산자를 삽입합니다.

      1. 리본 메뉴의 변환 이벤트 메뉴에서 연산자를 선택할 수 있습니다.

        리본 메뉴의 선택 관리 필드를 보여 주는 스크린샷.

        또는 노드 중 하나를 마우스로 가리킨 다음 연결선을 삭제한 경우 단추를 선택할 + 수 있습니다. 해당 노드 옆에 드롭다운 메뉴가 나타나고 이 메뉴에서 연산자를 선택할 수 있습니다.

        연결선에서 더하기 링크의 선택을 보여 주는 스크린샷.

      2. 연산자를 삽입한 후에는 이러한 노드를 다시 연결해야 합니다. 스트림 노드의 왼쪽 가장자리를 마우스로 가리킨 다음 녹색 원을 선택하여 끌어서 필드 관리 연산자 노드에 연결합니다. 동일한 프로세스에 따라 필드 관리 연산자 노드를 대상에 연결합니다.

        필드 관리 타일을 연결하는 방법을 보여 주는 스크린샷

  3. 필드 관리 연산자 노드를 선택합니다. 필드 관리 구성 패널에서 출력할 필드를 선택합니다. 모든 필드를 추가하려면 모든 필드 추가를 선택합니다. 기본 제공 함수를 사용하여 새 필드를 추가하여 업스트림 데이터를 집계할 수도 있습니다. (현재 지원되는 기본 제공 함수는 문자열 함수, 날짜 및 시간 함수, 수학 함수의 일부 함수입니다. 을 찾으려면 .)를 검색합니다.built-in

    필드 관리 타일의 구성 방법을 보여 주는 스크린샷

  4. 필드 관리 연산자를 구성한 후 새로 고침을 선택하여 이 연산자가 생성한 테스트 결과의 유효성을 검사합니다.

    새로 고친 페이지를 보여 주는 스크린샷.

  5. 구성 오류가 있는 경우 아래쪽 창의 작성 오류 탭에 표시됩니다.

    작성 오류 탭을 보여 주는 스크린샷

  6. 테스트 결과가 올바르면 게시를 선택하여 이벤트 처리 논리를 저장하고 라이브 보기로 돌아갑니다.

    선택한 리본 메뉴의 게시 단추를 보여 주는 스크린샷.

  7. 이러한 단계를 완료한 후에는 Eventstream이 라이브 보기에서 데이터 스트리밍 및 처리를 시작하는 방법을 시각화할 수 있습니다.

    라이브 보기를 보여 주는 스크린샷.

이벤트 처리 편집기

이벤트 프로세서 편집기(편집 모드의 캔버스)를 사용하면 데이터를 다양한 대상으로 변환할 수 있습니다. 편집 모드를 입력하여 데이터 스트림에 대한 스트림 처리 작업을 디자인합니다.

향상된 기능이 있는 Eventstream에 대한 이벤트 처리 편집기를 보여 주는 스크린샷.

편집 모드에는 다음을 수행할 수 있는 캔버스 및 아래쪽 창이 포함됩니다.

  • 끌어서 놓기를 사용하여 이벤트 데이터 변환 논리를 빌드합니다.
  • 테스트 결과를 미리 보기하면 각 처리 노드가 처음부터 끝까지 진행됩니다.
  • 처리 노드 내에서 작성 오류를 검색합니다.

편집기 레이아웃

향상된 기능이 있는 Eventstream에 대한 이벤트 처리 편집기의 레이아웃을 보여 주는 스크린샷

  • 리본 메뉴 및 캔버스 (이미지의 번호 매기기): 이 창에서는 변환 이벤트 메뉴에서 연산자를 선택하고 새로 만든 연산자 노드를 통해 스트림과 대상 노드를 연결하여 데이터 변환 논리를 디자인할 수 있습니다. 연결선을 끌어서 놓거나 연결을 선택하고 삭제할 수 있습니다.
  • 오른쪽 편집 창(이미지의 두 개): 이 창을 사용하면 선택한 노드를 구성하거나 스트림 이름을 볼 수 있습니다.
  • 데이터 미리 보기 및 작성 오류 탭이 있는 아래쪽 창(이미지의 세 개 ): 이 창에서 테스트 결과 탭이 있는 선택한 노드에서 테스트 결과를 미리 봅니다. 작성 오류 탭에는 작업 노드의 불완전하거나 잘못된 구성이 나열됩니다.

지원되는 노드 형식 및 예제

수집 전에 연산자를 추가하도록 지원하는 대상 형식은 다음과 같습니다.

  • Lakehouse
  • KQL 데이터베이스(수집 전 이벤트 처리)
  • 파생 스트림

참고 항목

사전 수집 연산자 추가를 지원하지 않는 대상의 경우 먼저 파생 스트림을 연산자의 출력으로 추가할 수 있습니다. 그런 다음, 의도한 대상을 이 파생 스트림에 추가합니다.

지원되지 않는 대상에 대한 필터 출력이 있는 이벤트 처리 편집기의 레이아웃을 보여 주는 스크린샷

Lakehouse 및 KQL 데이터베이스의 이벤트 프로세서(수집 전 이벤트 처리)를 사용하면 데이터를 대상으로 수집하기 전에 처리할 수 있습니다.

필수 조건

시작하기 전에 다음 필수 구성 요소를 완료해야 합니다.

  • Eventstream이 있는 기여자 이상의 권한이 있는 프리미엄 작업 영역에액세스합니다.
  • Lakehouse 또는 KQL 데이터베이스가 있는 기여자 이상의 권한이 있는 프리미엄 작업 영역에액세스합니다.

편집기를 사용하여 이벤트 처리 디자인

이벤트 프로세서 편집기를 사용하여 이벤트 처리를 디자인하려면 다음을 수행합니다.

  1. Lakehouse 대상을 추가하고 오른쪽 창에 필요한 매개 변수를 입력합니다. (참조) 자세한 지침을 위해 eventstream 에서 대상을 추가하고 관리합니다. )

  2. 이벤트 프로세서 열기를 선택합니다. 이벤트 처리 편집기 화면이 나타납니다.

    Lakehouse 대상 구성 화면에서 이벤트 프로세서 열기를 선택할 위치를 보여 주는 스크린샷

  3. 이벤트 처리 편집기 캔버스에서 eventstream 노드를 선택합니다. 데이터 스키마를 미리 보거나 오른쪽 Eventstream 창에서 데이터 형식을 변경할 수 있습니다.

    이벤트 처리 편집기 화면의 오른쪽 창에 있는 데이터 스키마를 보여 주는 스크린샷

  4. 이벤트 프로세서 편집기에서 이 eventstream과 대상 사이에 이벤트 처리 연산자를 삽입하려면 다음 두 가지 방법 중 하나를 사용할 수 있습니다.

    1. 연결선에서 직접 연산자를 삽입합니다. 연결선을 마우스로 가리킨 다음 "+" 단추를 선택합니다. 연결선에 드롭다운 메뉴가 나타나고 이 메뉴에서 연산자를 선택할 수 있습니다.

      연결선을 마우스로 가리키고 노드를 삽입할 위치를 보여 주는 스크린샷

    2. 리본 메뉴 또는 캔버스에서 연산자를 삽입합니다.

      1. 리본 메뉴의 작업 메뉴에서 연산자를 선택할 수 있습니다. 또는 노드 중 하나를 마우스로 가리킨 다음 연결선을 삭제한 경우 "+" 단추를 선택할 수 있습니다. 해당 노드 옆에 드롭다운 메뉴가 나타나고 이 메뉴에서 연산자를 선택할 수 있습니다.

        작업 메뉴에서 연산자를 선택할 위치를 보여 주는 스크린샷

        노드를 삽입하기 위해 노드를 마우스로 가리킬 위치를 보여 주는 스크린샷

      2. 마지막으로 이러한 노드를 다시 연결해야 합니다. 이벤트 스트림 노드의 왼쪽 가장자리를 마우스로 가리킨 다음 녹색 원을 선택하여 끌어서 필드 관리 연산자 노드에 연결합니다. 동일한 프로세스에 따라 필드 관리 연산자 노드를 lakehouse 노드에 연결합니다.

        노드를 연결할 위치를 보여 주는 스크린샷

  5. 필드 관리 연산자 노드를 선택합니다. 필드 관리 구성 패널에서 출력할 필드를 선택합니다. 모든 필드를 추가하려면 모든 필드 추가를 선택합니다. 기본 제공 함수를 사용하여 새 필드를 추가하여 업스트림 데이터를 집계할 수도 있습니다. (현재 지원되는 기본 제공 함수는 의 일부 함수입니다.문자열 함수, 날짜 및 시간 함수, 수학 함수. 이를 찾으려면 "기본 제공"을 검색합니다.

    연산자를 구성하는 방법을 보여 주는 스크린샷

  6. 필드 관리 연산자를 구성한 후 정적 미리 보기 새로 고침을 선택하여 이 연산자가 생성하는 데이터를 미리 봅니다.

    이벤트 프로세서 편집기에서 데이터를 미리 보는 방법을 보여 주는 스크린샷

  7. 구성 오류가 있는 경우 아래쪽 창의 작성 오류 탭에 표시됩니다.

    이벤트 프로세서 편집기에서 작성 오류 탭을 보여 주는 스크린샷

  8. 미리 보기된 데이터가 올바르면 완료를 선택하여 이벤트 처리 논리를 저장하고 Lakehouse 대상 구성 화면으로 돌아갑니다.

  9. 추가를 선택하여 레이크하우스 대상 만들기를 완료합니다.

이벤트 프로세서 편집기

이벤트 프로세서를 사용하면 수집 중인 데이터를 레이크하우스 대상으로 변환할 수 있습니다. 레이크하우스 대상을 구성하면 Lakehouse 대상 구성 화면 중간에 이벤트 프로세서 열기 옵션이 표시됩니다.

이벤트 프로세서 편집기를 열 위치를 보여 주는 스크린샷

이벤트 프로세서 열기를 선택하면 데이터 변환 논리를 정의할 수 있는 이벤트 처리 편집기 화면이 시작됩니다.

이벤트 프로세서 편집기에서는 다음을 수행할 수 있는 캔버스 및 아래쪽 창을 포함합니다.

  • 끌어서 놓기를 사용하여 이벤트 데이터 변환 논리를 빌드합니다.
  • 각 처리 노드의 데이터를 처음부터 끝까지 미리 봅니다.
  • 처리 노드 내에서 작성 오류를 검색합니다.

화면 레이아웃은 기본 편집기와 같습니다. 다음 이미지에 표시된 세 개의 섹션으로 구성됩니다.

세 개의 기본 섹션을 나타내는 이벤트 처리 편집기 화면의 스크린샷.

  1. 다이어그램 보기가 있는 캔버스: 이 창에서는 연산자( 작업 메뉴에서)를 선택하고 새로 만든 연산자 노드를 통해 eventstream 및 대상 노드를 연결하여 데이터 변환 논리를 디자인할 수 있습니다. 연결선을 끌어서 놓거나 연결을 선택하고 삭제할 수 있습니다.

  2. 오른쪽 편집 창: 이 창을 사용하면 선택한 작업 노드를 구성하거나 eventstream 및 대상의 스키마를 볼 수 있습니다.

  3. 데이터 미리 보기 및 작성 오류 탭이 있는 아래쪽 창: 이 창에서 데이터 미리 보기 탭이 있는 선택한 노드의 데이터를 미리 봅니다. 작성 오류 탭에는 작업 노드의 불완전하거나 잘못된 구성이 나열됩니다.

작성 오류

작성 오류는 작업 노드의 불완전하거나 잘못된 구성으로 인해 이벤트 프로세서 편집기에서 발생하는 오류를 참조하여 이벤트 프로세서에서 잠재적인 문제를 찾고 해결하는 데 도움이 됩니다.

이벤트 프로세서 편집기의 아래쪽 패널에서 작성 오류를수 있습니다. 아래쪽 패널에는 모든 제작 오류가 나열되며, 각 작성 오류에는 4개의 열이 있습니다.

  • 노드 ID: 작성 오류가 발생한 작업 노드의 ID를 나타냅니다.
  • 노드 유형: 작성 오류가 발생한 작업 노드의 형식을 나타냅니다.
  • 수준: 작성 오류의 심각도를 나타냅니다. 치명적인 수준과 정보라는 두 가지 수준이 있습니다. 심각한 수준의 작성 오류는 이벤트 프로세서에 심각한 문제가 있으며 저장하거나 실행할 수 없다는 것을 의미합니다. 정보 수준 작성 오류는 이벤트 프로세서에 이벤트 프로세서를 최적화하거나 개선하는 데 도움이 되는 몇 가지 팁이나 제안이 있음을 의미합니다.
  • 오류: 작성 오류의 원인과 영향을 간략하게 설명하는 작성 오류의 특정 정보를 나타냅니다. 세부 정보 표시 탭을 선택하여 세부 정보를 볼 수 있습니다.

Eventstream 및 KQL Database는 다양한 데이터 형식을 지원하므로 데이터 형식 변환 프로세스에서 작성 오류가 발생할 수 있습니다.

다음 표에서는 Eventstream에서 KQL 데이터베이스로 데이터 형식 변환의 결과를 보여 있습니다. 열은 Eventstream에서 지원하는 데이터 형식을 나타내고 행은 KQL Database에서 지원하는 데이터 형식을 나타냅니다. 셀은 변환 결과를 나타내며 다음 세 가지 중 하나일 수 있습니다.

✔️ 변환 성공, 오류 또는 경고가 생성되지 않음을 나타냅니다.

❌ 불가능한 변환을 나타내며 심각한 작성 오류가 생성됩니다. 오류 메시지는 다음과 유사합니다. "" 열의 데이터 형식 "{1}{0}"이 선택한 KQL 테이블의 예상 형식 "{2}"과 일치하지 않으며 자동 변환할 수 없습니다.

⚠️ 가능하지만 부정확한 변환을 나타내며 정보 작성 오류가 생성됩니다. 오류 메시지는 다음과 유사합니다. "" 열의 데이터 형식 "{1}{0}"이 선택한 KQL 테이블의 예상 형식 "{2}"과 정확히 일치하지 않습니다. "{2}"로 자동 변환됩니다.

string 부울 날짜/시간 dynamic guid int long real timespan decimal
Int64 ✔️ ⚠️ ✔️ ⚠️ ✔️
double ✔️ ⚠️ ⚠️
String ✔️ ✔️
Datetime ⚠️ ✔️ ✔️
녹음 ⚠️ ✔️
배열 ⚠️ ✔️

표에서 볼 수 있듯이 문자열과 같은 일부 데이터 형식 변환이 성공합니다. 이러한 변환은 작성 오류를 생성하지 않으며 이벤트 프로세서의 작업에 영향을 주지 않습니다.

int to string과 같은 일부 데이터 형식 변환은 불가능합니다. 이러한 변환은 심각한 수준의 제작 오류를 생성하여 이벤트 프로세서를 저장하지 못합니다. 이러한 오류를 방지하려면 Eventstream 또는 KQL 테이블에서 데이터 형식을 변경해야 합니다.

일부 데이터 형식 변환은 가능하지만 정확하지는 않습니다(예: int에서 실제로 변환). 이러한 변환은 데이터 형식과 자동 변환 결과 간의 불일치를 나타내는 정보 수준 작성 오류를 생성합니다. 이러한 변환으로 인해 데이터의 정밀도 또는 구조가 손실될 수 있습니다. 이러한 오류를 무시할지 또는 Eventstream 또는 KQL 테이블에서 데이터 형식을 수정하여 이벤트 프로세서를 최적화할지 선택할 수 있습니다.

변환 연산자

이벤트 프로세서는 비즈니스 요구에 따라 이벤트 데이터를 변환하는 데 사용할 수 있는 6개의 연산자를 제공합니다.

작업 메뉴에서 사용할 수 있는 연산자를 보여 주는 스크린샷

집계

집계 변환을 사용하여 일정 기간 동안 새 이벤트가 발생할 때마다 집계(합계, 최소값, 최대값 또는 평균)를 계산합니다. 또한 이 작업을 통해 계산 열의 이름을 바꾸고 데이터의 다른 차원을 기반으로 집계를 필터링하거나 분할할 수 있습니다. 동일한 변환에 하나 이상의 집계가 있을 수 있습니다.

확장

배열 확장 변환을 사용하여 배열 내의 각 값에 대한 새 행을 만듭니다.

Filter

필터 변환을 사용하여 입력의 필드 값에 따라 이벤트를 필터링합니다. 데이터 형식(숫자 또는 텍스트)에 따라 변환은 null이거나 null이 아닌 경우와 같이 선택한 조건과 일치하는 값을 유지합니다.

그룹 기준

그룹화 기준 변환을 사용하여 특정 시간 범위 내의 모든 이벤트에 대한 집계를 계산합니다. 하나 이상의 필드에 있는 값을 기준으로 그룹화할 수 있습니다. 집계 변환을 통해 열의 이름을 바꾸는 것과 비슷하지만 집계에 대한 더 많은 옵션을 제공하고 시간 창에 더 복잡한 옵션을 포함합니다. 집계와 마찬가지로 변환당 둘 이상의 집계를 추가할 수 있습니다.

변환에서 사용할 수 있는 집계는 다음과 같습니다.

  • 평균
  • Count
  • 최댓값
  • 최소
  • 백분위수(연속 및 불연속)
  • 표준 편차
  • Sum
  • Variance

실시간 스트리밍 시나리오에서 임시 창에 포함된 데이터에서 작업을 수행하는 것은 일반적인 패턴입니다. 이벤트 프로세서는 Group by 연산자에 통합된 창 함수를 지원합니다. 이 연산자의 설정에서 정의할 수 있습니다.

이벤트 프로세서 편집기에서 사용할 수 있는 그룹화 연산자를 보여 주는 스크린샷

필드 관리

필드 관리 변환을 사용하면 입력 또는 다른 변환에서 들어오는 필드를 추가, 제거, 변경 또는 이름을 바꿀 수 있습니다. 측면 창 설정을 사용하면 필드 추가를 선택하거나, 여러 필드를 추가하거나, 모든 필드를 한 번에 추가하여 새 필드를 추가할 수 있습니다.

이벤트 프로세서 편집기에서 사용할 수 있는 필드 관리 연산자를 보여 주는 스크린샷

또한 기본 제공 함수를 사용하여 새 필드를 추가하여 업스트림 데이터를 집계할 수 있습니다. (현재 지원되는 기본 제공 함수는 의 일부 함수입니다.문자열 함수, 날짜 및 시간 함수수학 함수입니다. 이를 찾으려면 "기본 제공"을 검색합니다.

관리 필드 기본 제공 함수를 보여 주는 스크린샷

다음 표에서는 관리 필드를 사용하여 데이터 형식을 변경한 결과를 보여줍니다. 열은 원래 데이터 형식을 나타내고 행은 대상 데이터 형식을 나타냅니다.

  • 셀에 있는 경우 셀을 ✔️ 직접 변환할 수 있으며 대상 데이터 형식 옵션이 드롭다운 목록에 표시됩니다.
  • 셀에 있는 ❌ 경우 변환할 수 없으며 대상 데이터 형식 옵션이 드롭다운 목록에 표시되지 않음을 의미합니다.
  • 셀에 ️가 있는 ⚠경우 변환할 수 있지만 문자열 형식과 같은 특정 조건을 충족해야 하므로 대상 데이터 형식의 요구 사항을 준수해야 합니다. 예를 들어 문자열에서 int로 변환할 때 문자열은 유효한 정수 형식(예: 123"아님 abc)"이어야 합니다.
Int64 Double 문자열 DateTime 녹음 배열
Int64 ✔️ ✔️ ✔️
double ✔️ ✔️ ✔️
String ⚠️ ⚠️ ✔️ ⚠️
Datetime ✔️ ✔️
녹음 ✔️ ✔️
배열 ✔️ ✔️

Union

공용 구조체 변환을 사용하여 두 개 이상의 노드를 연결하고 동일한 이름과 데이터 형식의 필드를 공유하는 이벤트를 하나의 테이블에 추가합니다. 일치하지 않는 필드는 삭제되고 출력에 포함되지 않습니다.

Join

조인 변환을 사용하여 선택한 필드 쌍에 따라 두 입력의 이벤트를 결합합니다. 필드 쌍을 선택하지 않는 경우 기본적으로 조인은 시간을 기준으로 합니다. 기본값은 이 변환을 일괄 처리 변환과 다르게 만드는 것입니다.

일반 조인과 마찬가지로 조인 논리에 대한 옵션이 있습니다.

  • 내부 조인: 쌍이 일치하는 두 테이블의 레코드만 포함합니다.
  • 왼쪽 우선 외부 조인: 왼쪽(첫 번째) 테이블의 모든 레코드와 두 번째 테이블에서 필드 쌍과 일치하는 레코드만 포함합니다. 일치하는 항목이 없으면 두 번째 입력의 필드가 비어 있습니다.