Azure Event Hubs에서 데이터 가져오기

이 문서에서는 Event Hubs에서 Microsoft Fabric의 KQL 데이터베이스로 데이터를 가져오는 방법을 알아봅니다. Azure Event Hubs 는 초당 수백만 개의 이벤트를 처리하고 지시할 수 있는 빅 데이터 스트리밍 플랫폼 및 이벤트 수집 서비스입니다.

Event Hubs에서 실시간 분석으로 데이터를 스트리밍하려면 두 기본 단계를 수행합니다. 첫 번째 단계는 이벤트 허브 인스턴스에서 공유 액세스 정책을 정의하고 나중에 이 정책을 통해 연결하는 데 필요한 세부 정보를 캡처하는 Azure Portal에서 수행됩니다.

두 번째 단계는 KQL 데이터베이스를 이벤트 허브에 연결하고 들어오는 데이터에 대한 스키마를 구성하는 패브릭의 실시간 분석에서 수행됩니다. 이 단계에서는 두 개의 연결을 만듭니다. "클라우드 연결"이라고 하는 첫 번째 연결은 Microsoft Fabric을 이벤트 허브 인스턴스에 연결합니다. 두 번째 연결은 "클라우드 연결"을 KQL 데이터베이스에 연결합니다. 이벤트 데이터 및 스키마 구성을 마치면 KQL 쿼리 세트를 사용하여 스트리밍된 데이터를 쿼리할 수 있습니다.

필수 구성 요소

Warning

이벤트 허브는 방화벽 뒤에 있을 수 없습니다.

이벤트 허브에서 공유 액세스 정책 설정

Event Hubs 데이터에 대한 연결을 만들려면 이벤트 허브에서 SAS(공유 액세스 정책)를 설정하고 나중에 연결을 설정하는 데 사용할 일부 정보를 수집해야 합니다. Event Hubs 리소스에 대한 액세스 권한을 부여하는 방법에 대한 자세한 내용은 공유 액세스 서명을 참조 하세요.

  1. Azure Portal에서 연결하려는 이벤트 허브 인스턴스로 이동합니다.

  2. 설정 공유 액세스 정책을 선택합니다.

  3. +추가를 선택하여 새 SAS 정책을 추가하거나 관리 권한이 있는 기존 정책을 선택합니다.

    Screenshot of creating an SAS policy in the Azure portal.

  4. 정책 이름을 입력합니다.

  5. 관리를 선택한 다음 만들기를 선택합니다.

클라우드 연결에 대한 정보 수집

SAS 정책 창 내에서 다음 네 개의 필드를 기록해 둡니다. 이러한 필드를 복사하여 메모장처럼 어딘가에 붙여넣어 이후 단계에서 사용할 수 있습니다.

Screenshot showing how to fill out connection with data from Azure portal.

필드 준거 필드 Description 예시
a Event Hubs 인스턴스 이벤트 허브 인스턴스의 이름입니다. iotdata
b SAS 정책 이전 단계에서 만든 SAS 정책 이름 DocsTest
c 기본 키 SAS 정책과 연결된 키 이 예제에서는 PGGIISb009...
d 커넥트ion 문자열-기본 키 이 필드에서는 연결 문자열 일부로 찾을 수 있는 이벤트 허브 네임스페이스만 복사하려고 합니다. eventhubpm15910.servicebus.windows.net

원본

  1. KQL 데이터베이스의 아래쪽 리본에서 데이터 가져오기를 선택합니다.

    데이터 가져오기 창에서 원본 탭이 선택됩니다.

  2. 사용 가능한 목록에서 데이터 원본을 선택합니다. 이 예제에서는 Event Hubs에서 데이터를 수집합니다.

    Screenshot of get data window with source tab selected.

구성

  1. 대상 테이블을 선택합니다. 새 테이블에 데이터를 수집하려면 + 새 테이블을 선택하고 테이블 이름을 입력합니다.

    참고 항목

    테이블 이름은 공백, 영숫자, 하이픈 및 밑줄을 포함하여 최대 1024자까지 가능합니다. 특수 문자는 지원되지 않습니다.

  2. 새 연결 만들기를 선택하거나 기존 연결을 선택하고 다음 단계로 이동합니다.

새 연결 만들기

  1. 다음 표에 따라 커넥트ion 설정을 입력합니다.

    Screenshot of source tab.

    설정 설명 예제 값
    이벤트 허브 네임스페이스 표의 d 필드입니다. eventhubpm15910.servicebus.windows.net
    이벤트 허브 표의 필드입니다. 이벤트 허브 인스턴스의 이름입니다. iotdata
    Connection Fabric과 Event Hubs 간에 기존 클라우드 연결을 사용하려면 이 연결의 이름을 선택합니다. 그렇지 않으면 새 연결 만들기를 선택합니다. 새 연결 만들기
    연결 이름 새 클라우드 연결의 이름입니다. 이 이름은 자동으로 생성되지만 덮어쓸 수 있습니다. 패브릭 테넌트 내에서 고유해야 합니다. Connection
    인증 종류 자동으로 채워집니다. 현재 공유 액세스 키만 지원됩니다. 공유 액세스 키
    공유 액세스 키 이름 위의 표에서 b 필드입니다. 공유 액세스 정책에 지정한 이름입니다. DocsTest
    공유 액세스 키 표의 c 필드입니다. SAS 정책의 기본 키입니다.
  2. 저장을 선택합니다. 패브릭과 Event Hubs 간에 새 클라우드 데이터 연결이 만들어집니다.

KQL 데이터베이스에 대한 클라우드 연결 커넥트

새 클라우드 연결을 만들었든 기존 연결을 사용하든 관계없이 소비자 그룹을 정의해야 합니다. 필요에 따라 KQL 데이터베이스와 클라우드 연결 간의 연결 측면을 추가로 정의하는 매개 변수를 설정할 수 있습니다.

  1. 표에 따라 다음 필드를 입력합니다.

    Screenshot of creating database connection.

    설정 설명 예제 값
    소비자 그룹 이벤트 허브에 정의된 관련 소비자 그룹입니다. 자세한 내용은 소비자 그룹을 참조 하세요. 새 소비자 그룹을 추가한 후 드롭다운에서 이 그룹을 선택해야 합니다. NewConsumer
    추가 매개 변수
    압축 이벤트 허브에서 오는 이벤트의 데이터 압축입니다. 옵션은 없음(기본값) 또는 Gzip 압축입니다. 없음
    이벤트 시스템 속성 자세한 내용은 이벤트 허브 시스템 속성을 참조 하세요. 이벤트 메시지당 레코드가 여러 개 있는 경우 시스템 속성이 첫 번째 레코드에 추가됩니다. 이벤트 시스템 속성을 참조 하세요.
    이벤트 검색 시작 날짜 데이터 연결은 이벤트 검색 시작 날짜 이후 생성된 기존 이벤트 허브 이벤트를 검색합니다. 보존 기간에 따라 이벤트 허브에서 보존하는 이벤트만 검색할 수 있습니다. 표준 시간대는 UTC입니다. 시간이 지정되지 않은 경우 기본 시간은 데이터 연결이 만들어지는 시간입니다.
  2. [다음]을 선택하여 [검사] 탭으로 이동합니다.

이벤트 시스템 속성

시스템 속성은 이벤트를 큐에 저장할 때 Event Hubs 서비스에서 설정한 속성을 저장합니다. 이벤트 허브에 대한 데이터 연결은 지정된 매핑에 따라 선택한 시스템 속성 집합을 테이블에 수집된 데이터에 포함할 수 있습니다.

속성 데이터 형식 Description
x-opt-enqueued-time datetime 이벤트가 큐에 지정된 UTC 시간입니다.
x-opt-sequence-number long 이벤트 허브의 파티션 스트림 내에서 이벤트의 논리적 시퀀스 번호입니다.
x-opt-offset string 이벤트 허브 파티션 스트림의 데이터 오프셋입니다. 오프셋 식별자는 이벤트 허브 스트림의 파티션 내에서 고유합니다.
x-opt-publisher string 게시자 엔드포인트에 메시지를 보낸 경우 게시자 이름입니다.
x-opt-partition-key string 이벤트를 저장한 해당 파티션의 파티션 키입니다.

검사

수집 프로세스를 완료하려면 마침을 선택합니다.

Screenshot of the inspect tab.

필요할 경우 다음을 선택합니다.

  • 명령 뷰어를 선택하여 입력에서 생성된 자동 명령을 보고 복사합니다.

  • 드롭다운에서 원하는 형식을 선택하여 자동으로 유추된 데이터 형식을 변경합니다. 데이터는 EventData 개체 형식으로 이벤트 허브에서 읽습니다. 지원되는 형식은 CSV, JSON, PSV, SCsv, SOHsv TSV, TXT 및 TSVE입니다.

  • 열을 편집합니다.

  • 데이터 형식에 따라 고급 옵션을 탐색 합니다.

  • 미리 보기 창에 표시되는 데이터가 완료되지 않은 경우 필요한 모든 데이터 필드가 있는 테이블을 만들려면 더 많은 데이터가 필요할 수 있습니다. 다음 명령을 사용하여 이벤트 허브에서 새 데이터를 가져옵니다.

    • 새 데이터 삭제 및 가져오기: 제공된 데이터를 삭제하고 새 이벤트를 검색합니다.
    • 추가 데이터 가져오기: 이미 찾은 이벤트 외에 더 많은 이벤트를 검색합니다.

열 편집

참고 항목

  • 테이블 형식(CSV, TSV, PSV)의 경우 열을 두 번 매핑할 수 없습니다. 기존 열에 매핑하려면 먼저 새 열을 삭제합니다.
  • 기존 열 유형은 변경할 수 없습니다. 다른 형식의 열에 매핑하려고 하면 빈 열이 생길 수 있습니다.

테이블에서 변경할 수 있는 사항은 다음 매개 변수에 따라 다릅니다.

  • 테이블 유형은 신규 또는 기존입니다.
  • 매핑 유형은 신규 또는 기존입니다.
테이블 유형입니다. 매핑 유형 사용 가능한 조정
새 테이블 새 매핑 열 이름 바꾸기, 데이터 형식 변경, 데이터 원본 변경, 매핑 변환, 열 추가, 열 삭제
기존 테이블 새 매핑 열 추가(데이터 형식 변경, 이름 바꾸기 및 업데이트 가능)
기존 테이블 기존 매핑 없음

Screenshot of columns open for editing.

매핑 변환

일부 데이터 형식 매핑(Parquet, JSON 및 Avro)은 간단한 수집 시간 변환을 지원합니다. 매핑 변환을 적용하려면 열 편집 창에서 열을 만들거나 업데이트합니다 .

데이터 형식이 int 또는 long인 원본을 사용하여 문자열 또는 datetime 형식의 열에서 매핑 변환을 수행할 수 있습니다. 지원되는 매핑 변환은 다음과 같습니다.

  • DateTimeFromUnixSeconds
  • DateTimeFromUnixMilliseconds
  • DateTimeFromUnixMicroseconds
  • DateTimeFromUnixNanoseconds

Event Hubs 캡처 Avro 파일에 대한 스키마 매핑

Event Hubs 데이터를 사용하는 한 가지 방법은 Azure Blob Storage 또는 Azure Data Lake Storage에서 Azure Event Hubs를 통해 이벤트를 캡처하는 것입니다. 그런 다음 Event Grid 데이터 커넥트ion사용하여 작성된 캡처 파일을 수집할 수 있습니다.

캡처 파일의 스키마는 Event Hubs로 전송된 원래 이벤트의 스키마와 다릅니다. 이러한 차이점을 염두에 두고 대상 테이블 스키마를 디자인해야 합니다. 특히 이벤트 페이로드는 캡처 파일에 바이트 배열로 표시되며 이 배열은 Event Grid Azure Data Explorer 데이터 연결에 의해 자동으로 디코딩되지 않습니다. Event Hubs Avro 캡처 데이터의 파일 스키마에 대한 자세한 내용은 Azure Event Hubs에서 캡처된 Avro 파일 탐색을 참조 하세요.

이벤트 페이로드를 올바르게 디코딩하려면 다음을 수행합니다.

  1. 캡처된 이벤트의 Body 필드를 대상 테이블의 dynamic 형식 열에 매핑합니다.
  2. unicode_codepoints_to_string() 함수를 사용하여 바이트 배열을 읽을 수 있는 문자열로 변환하는 업데이트 정책을 적용합니다.

데이터 형식을 기반으로 하는 고급 옵션

테이블 형식(CSV, TSV, PSV):

  • 기존 테이블에서 테이블 형식을 수집하는 경우 고급>유지 테이블 스키마를 선택할 수 있습니다. 테이블 형식 데이터에는 원본 데이터를 기존 열에 매핑하는 데 사용되는 열 이름이 반드시 포함되지는 않습니다. 이 옵션을 검사 매핑은 순서에 따라 수행되고 테이블 스키마는 동일하게 다시 기본. 이 옵션이 검사 않으면 데이터 구조에 관계없이 들어오는 데이터에 대한 새 열이 만들어집니다.

  • 첫 번째 행을 열 이름으로 사용하려면 고급>첫 번째 행을 열 머리글로 선택합니다.

    Screenshot of advanced CSV options.

JSON:

  • JSON 데이터의 열 나누기를 확인하려면 1에서 100까지의 고급>중첩 수준을 선택합니다.

  • 오류가 있는 고급>건너뛰기 JSON 줄을 선택하면 데이터가 JSON 형식으로 수집됩니다. 이 검사 상자를 선택하지 않은 상태로 두면 데이터가 multijson 형식으로 수집됩니다.

    Screenshot of advanced JSON options.

요약

데이터 준비 창에서 데이터 수집이 성공적으로 완료되면 세 단계 모두 녹색 검사 표시로 표시됩니다. 쿼리할 카드 선택하거나, 수집된 데이터를 삭제하거나, 수집 요약의 대시보드를 볼 수 있습니다.

Screenshot of summary page with successful ingestion completed.