ETL 정의 및 변환 맵을 사용하여 Kafka 이벤트를 처리합니다. ETL 정의 및 변환 맵은 예약된 임포트를 통해 데이터를 끌어올 때 사용할 변환 논리를 지정합니다. 동일한 ETL 정의 및 변환 맵을 사용하여 Kafka를 통해 수신된 이벤트를 변환할 수 있습니다.
프로시저
-
ETL을 사용하고 소비자 메시지를 변환하는 주제를 만듭니다.
-
다음 명령을 사용하여 Hermes에서 주제를 만듭니다.
이 예에서 토픽 이름은 topic2입니다.
bin/kafka-topics.sh --create --command-config config/bootcamp.properties --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002, <instance name>.service-now.com:4003 --topic snc.<instance name>.topic2
<instance name>을 인스턴스 이름으로 바꿔야 합니다.
-
주제를 보려면 인스턴스에 로그인하고 다음으로 이동합니다. .
주: 주제를 생성하는 데 약 10분이 걸립니다.
-
주제의 데이터를 사용할 ETL 소비자를 생성합니다.
-
다음으로 이동 .
-
새로 만들기를 선택합니다.
-
Kafka 소비자 양식의 이름 필드에 이름을 입력합니다.
이 예에서는 Member Import라는 이름을 사용합니다.
-
견고한 임포트 세트 변환기 필드의 경우 기존 견고한 임포트 세트 변환기를 선택합니다.
강력한 임포트 세트 변환기의 경우 단일 열에 데이터를 저장하는 옵션을 사용하지 않는 변환기를 선택합니다. 메시지를 볼 수 있으려면 강력한 임포트 세트 변환기에 자세한 정보 표시 옵션이 설정되어 있는지 확인하십시오.
-
단일 열의 데이터 옵션을 선택 취소합니다.
이 옵션은 단일 열에 데이터가 있는 임포트 세트 테이블에 대해서만 선택해야 합니다.
-
열 매핑을 레이블로 설정합니다.
즉, 입력 메시지의 JSON 키가 임포트 세트 테이블의 열 레이블에 매핑됩니다.
-
양식을 저장합니다.
-
Kafka 스트림 만들기 소비자를 위해.
-
Kafka 스트림 양식에서 다음 필드 값을 설정합니다.
-
관련 링크에서 활성화 링크를 선택합니다.
-
topic2에 메시지를 게시합니다.
-
다음 명령을 실행하여 topic2에 메시지를 게시합니다.
bin/kafka-console-producer.sh --topic snc.<instance name>.topic2 --producer.config config/bootcamp.properties --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002,<instance name>.service-now.com:4003
<instance name>을 인스턴스 이름으로 바꿔야 합니다.
이 명령은 메시지를 입력하라는 메시지를 표시합니다.
-
다음 JSON 메시지를 보냅니다.
{"city":"San Diego","name":"Jhon","id":"SN001","state":"California"}
이 메시지를 어떤 값으로도 보낼 수 있지만 JSON 메시지 키는 임포트 세트 테이블 레이블과 일치해야 합니다.
-
생성한 ETL 소비자로 다시 이동합니다.
약 1분 후에 임포트 세트를 통해 데이터를 임포트했어야 합니다.
-
임포트 세트에 대한 자세한 정보를 보려면 임포트 세트 번호를 선택합니다.
-
임포트 세트 행에 대한 자세한 정보를 보려면 임포트 세트 행 번호를 선택합니다.
-
데이터를 사용할 변환 맵 소비자를 생성합니다.
-
다음으로 이동 .
-
새로 만들기를 선택합니다.
-
Kafka 변환 맵 소비자 양식에서 이름 필드에 이름을 입력합니다.
-
변환 맵 필드의 경우 기존 변환 맵을 선택합니다.
-
양식을 저장합니다.
-
Kafka 스트림 만들기 소비자를 위해.
-
Kafka 스트림 양식에서 다음 필드 값을 설정합니다.
-
관련 링크에서 활성화 링크를 선택합니다.
-
topic2에 메시지를 게시합니다.
-
다음 명령을 실행하여 topic2에 메시지를 게시합니다.
bin/kafka-console-producer.sh --topic snc.<instance name>.topic2 --producer.config config/bootcamp.properties --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002,<instance name>.service-now.com:4003
<instance name>을 인스턴스 이름으로 바꿔야 합니다.
이 명령은 메시지를 입력하라는 메시지를 표시합니다.
-
다음 JSON 메시지를 보냅니다.
{"city":"San Diego","name":"Jhon","id":"SN001","state":"California"}
이 메시지를 어떤 값으로도 보낼 수 있지만 JSON 메시지 키는 임포트 세트 테이블 레이블과 일치해야 합니다.
-
생성한 변환 맵 소비자로 이동합니다.
약 1분 후에 임포트 세트를 통해 데이터를 임포트했어야 합니다.
-
임포트 세트에 대한 자세한 정보를 보려면 위의 3d단계에서와 같이 임포트 세트 번호를 선택합니다.