Openflow Connector for Kinesis 유지 관리

참고

이 커넥터에는 `Snowflake Connector 약관<https://www.snowflake.com/legal/snowflake-connector-terms/>`_이 적용됩니다.

이 항목에서는 커넥터 상태를 관리하고 재설정하는 방법을 포함하여 Openflow Connector for Kinesis 커넥터를 유지 관리하는 방법에 대해 설명합니다.

커넥터 상태 관리

|Kinesis|는 DynamoDB를 사용하여 컨슈머 애플리케이션 상태를 저장합니다.

커넥터에서 생성한 DynamoDB 테이블

커넥터에 구성된 각 Kinesis 애플리케이션 이름에 대해 KCL은 세 개의 DynamoDB 테이블을 생성합니다.

<Kinesis Application Name>

스트림의 각 샤드에 대해 검사점 시퀀스 번호를 저장합니다. 이는 처리된 레코드를 추적합니다.

<Kinesis Application Name>-CoordinatorState

여러 프로세서가 동일한 애플리케이션 이름을 공유하는 경우 작업자 간의 조정에 사용됩니다.

<Kinesis Application Name>-WorkerMetricStats

작업자가 작업 할당 중에 사용되는 메트릭을 보고하는 데 사용됩니다.

이러한 테이블 이름에서 ``<Kinesis Application Name>``은 커넥터를 설정할 때 제공된 값입니다.

여러 프로세서가 동일한 애플리케이션 이름을 사용하는 경우 스트림에서 데이터를 사용하고 이러한 테이블을 공유하기 위해 협력합니다. 프로세서의 애플리케이션 이름이 서로 다른 경우 각 프로세서는 자체 테이블 세트를 생성하여 사용된 레코드를 독립적으로 추적합니다.

DynamoDB 테이블에 대한 자세한 내용은 `AWS Kinesis 클라이언트 라이브러리 설명서<https://docs.aws.amazon.com/streams/latest/dev/kcl-dynamoDB.html>`_를 참조하세요.

커넥터 상태 재설정하기

DynamoDB의 커넥터 상태가 손상되거나 일관되지 않으면 재설정해야 할 수 있습니다. 커넥터 상태를 재설정하는 방법에는 두 가지가 있습니다.

애플리케이션 이름을 변경하여 재설정

커넥터 상태를 재설정하는 가장 간단한 방법은 Kinesis 애플리케이션 이름 매개 변수를 변경하는 것입니다.

  1. 커넥터를 중지합니다.

  2. 커넥터의 매개 변수 컨텍스트로 이동합니다.

  3. Kinesis Application Name 매개 변수 값을 새 값으로 변경합니다.

  4. 커넥터를 시작합니다.

커넥터는 새 애플리케이션 이름이 있는 DynamoDB 테이블을 만들고 Kinesis 초기 스트림 위치 매개 변수에 의해 지정된 위치에서 레코드를 사용하기 시작합니다.

참고

IAM 정책이 특정 테이블 이름에 대한 DynamoDB의 액세스를 제한하는 경우 새 테이블 이름에 대한 액세스를 허용하도록 정책을 업데이트해야 합니다. IAM 권한 구성에 대한 자세한 내용은 :doc:`setup`을 참조하세요.

DynamoDB 테이블을 삭제하여 재설정

또는 기존 DynamoDB 테이블을 삭제하여 상태를 재설정할 수 있습니다.

  1. 커넥터를 중지합니다.

  2. AWS 콘솔에서 또는 AWS CLI를 사용하여 애플리케이션 이름과 연결된 세 DynamoDB 테이블을 삭제합니다.

    • <Kinesis Application Name>

    • <Kinesis Application Name>-CoordinatorState

    • <Kinesis Application Name>-WorkerMetricStats

  3. 커넥터를 시작합니다.

커넥터가 테이블을 다시 만들고 Kinesis 초기 스트림 위치 매개 변수에 의해 지정된 위치에서 레코드를 사용하기 시작합니다.

경고

커넥터 상태를 재설정하면 커넥터가 초기 스트림 위치로 지정된 위치에서 레코드를 다시 처리합니다. Kinesis 초기 스트림 위치 설정에 따라 중복 데이터가 Snowflake에 수집되거나 데이터가 전혀 수집되지 않을 수 있습니다.