ETL 및 변환 맵 소비자를 사용하여 데이터 임포트

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 소요 시간: 5분
  • ETL 정의 및 변환 맵을 사용하여 Kafka 이벤트를 처리합니다. ETL 정의 및 변환 맵은 예약된 임포트를 통해 데이터를 끌어올 때 사용할 변환 논리를 지정합니다. 동일한 ETL 정의 및 변환 맵을 사용하여 Kafka를 통해 수신된 이벤트를 변환할 수 있습니다.

    시작하기 전에

    프로시저

    1. ETL 및 변환 맵 소비자 메시지를 사용하는 주제를 생성합니다.
      1. 다음 명령을 사용하여 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>을 인스턴스의 이름으로 바꿔야 합니다.
      2. 주제를 보려면 인스턴스에 로그인한 후 모두 > 통합 허브 > 스트림 커넥트 > 주제.
        주:
        주제를 생성하는 데 약 10분이 걸립니다.
    2. 주제의 데이터를 사용할 ETL 소비자를 생성합니다.
      1. 다음으로 이동 모두 > 통합 허브 > 소비자 > ETL 소비자.
      2. 새로 만들기를 선택합니다.
      3. Kafka 소비자 양식에서 이름 필드에 이름을 입력합니다.
        이 예제에서는 Member Import라는 이름을 사용합니다.
      4. 견고한 임포트 세트 변환기 필드의 경우 기존의 견고한 임포트 세트 변환기를 선택합니다.
        강력한 임포트 세트 변환기의 경우 단일 열에 데이터를 저장하는 옵션을 사용하지 않는 변환기를 선택하십시오. 메시지를 볼 수 있으려면 강력한 임포트 세트 변환기에 자세한 정보 표시 옵션이 활성화되어 있는지 확인하십시오.
      5. 단일 열의 데이터 옵션을 선택 취소합니다.
        이 옵션은 단일 열에 데이터가 있는 임포트 세트 테이블에만 선택해야 합니다.
      6. 열 매핑레이블로 설정합니다.

        즉, 입력 메시지의 JSON 키가 임포트 세트 테이블의 열 레이블에 매핑됩니다.

        Kafka ETL 소비자 양식입니다.
      7. 양식을 저장합니다.
      8. Kafka 스트림 생성 소비자를 위해.
      9. Kafka 스트림 양식에서 다음 필드 값을 설정합니다.
        • Topic2 스트림이름입니다.
        • 앞서 생성한 주제인 topic2에 대한 주제입니다.
        • 최대 동시성은1입니다.
        • 소비 시작번째 활성화 후 수신된 메시지입니다.
        • 자동으로 최적화하는 메시지 처리.
      10. 관련 링크 아래에서 활성화 링크를 선택합니다.

        활성화된 구독을 볼 수 있어야 합니다.

        topic2에 대한 Kafka 스트림 양식 예시.
    3. topic2에 메시지를 게시합니다.
      1. 다음 명령을 실행하여 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>을 인스턴스의 이름으로 바꿔야 합니다.

        이 명령은 메시지를 입력하라는 메시지를 표시합니다.

      2. 다음 JSON 메시지를 보냅니다.
        {"city":"San Diego","name":"Jhon","id":"SN001","state":"California"}
        이 메시지는 어떤 값으로도 보낼 수 있지만 JSON 메시지 키는 임포트 세트 테이블 레이블과 일치해야 합니다.
      3. 생성한 ETL 소비자로 다시 이동합니다.

        약 1분 후에 임포트 세트를 통해 데이터를 임포트했어야 합니다.

        임포트 세트 탭이 채워진 Kafka 소비자 양식입니다.
      4. 임포트 세트에 대한 자세한 정보를 보려면 임포트 세트 번호를 선택합니다.
        임포트 세트의 상세 뷰입니다.
      5. 임포트 세트 행에 대한 자세한 정보를 보려면 임포트 세트 행 번호를 선택합니다.
        임포트 세트 행의 상세 뷰
    4. 변환 맵 생성 데이터를 소비하는 소비자.
      1. 다음으로 이동 모두 > 통합 허브 > 소비자 > 변환 맵 소비자.
      2. 새로 만들기를 선택합니다.
      3. Kafka 변환 맵 소비자 양식에서 이름 필드에 이름을 입력합니다.
      4. 변환 맵 필드의 경우 기존 변환 맵을 선택합니다.
        변환 맵 소비자 양식입니다.
      5. 양식을 저장합니다.
      6. Kafka 스트림 생성 소비자를 위해.
      7. Kafka 스트림 양식에서 다음 필드 값을 설정합니다.
        • 맵 스트림을 변환하는이름입니다.
        • 앞서 생성한 주제인 topic2에 대한 주제입니다.
        • 최대 동시성은1입니다.
        • 소비 시작번째 활성화 후 수신된 메시지입니다.
        • 자동으로 최적화하는 메시지 처리.
      8. 관련 링크 아래에서 활성화 링크를 선택합니다.

        활성화된 구독을 볼 수 있어야 합니다.

        구독 정보가 있는 변환 맵 소비자에 대한 Kafka 스트림 양식입니다.
    5. topic2에 메시지를 게시합니다.
      1. 다음 명령을 실행하여 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>을 인스턴스의 이름으로 바꿔야 합니다.

        이 명령은 메시지를 입력하라는 메시지를 표시합니다.

      2. 다음 JSON 메시지를 보냅니다.
        {"city":"San Diego","name":"Jhon","id":"SN001","state":"California"}
        이 메시지는 어떤 값으로도 보낼 수 있지만 JSON 메시지 키는 임포트 세트 테이블 레이블과 일치해야 합니다.
      3. 생성한 변환 맵 소비자로 이동합니다.
        약 1분 후에 임포트 세트를 통해 데이터를 임포트했어야 합니다.
      4. 임포트 세트에 대한 자세한 정보를 보려면 위의 3d 단계에서와 같이 임포트 세트 번호를 선택합니다.

    다음에 수행할 작업

    Kafka 생산자 단계 및 ProducerV2 API를 사용하여 메시지 게시.