维护 Openflow Connector for Kinesis

备注

此连接器受 Snowflake 连接器条款 的约束。

本主题介绍如何维护 Openflow Connector for Kinesis 连接器,包括如何管理和重置连接器状态。

管理连接器状态

Openflow Connector for 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 权限的更多信息,请参阅 Set up Openflow Connector for Kinesis for JSON data format

通过删除 DynamoDB 表进行重置

或者,您可以通过删除现有的 DynamoDB 表来重置连接器状态:

  1. 停止连接器。

  2. 在 AWS 控制台中或使用 AWS CLI,删除三个与应用程序名称关联的 DynamoDB 表:

    • <Kinesis Application Name>

    • <Kinesis Application Name>-CoordinatorState

    • <Kinesis Application Name>-WorkerMetricStats

  3. 启动连接器。

连接器会重新创建这些表,并从 Kinesis 初始流位置 参数指定的位置开始使用记录。

警告

重置连接器状态会导致连接器从初始流位置指定的位置重新处理记录。根据您的 Kinesis 初始流位置 设置,这可能会导致重复数据被引入到 Snowflake 中,或数据根本未被引入的情况。

语言: 中文