注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

键选择

支持于: 流处理

通过提供的键选择列对输入进行键选择。注意,这不会重新排序数据,仅维护从设置键的那一刻起的每个键的顺序。重新键选择数据可能不安全,因为如果新键选择的数据依赖于任何特定顺序,则我们无法保证该顺序是否未由先前的键选择维护。此外,如果启用cdc(更改数据捕获)模式,还会设置主键。主键定义了哪些列表示哪些行是更新、删除,以及作为当前视图读取时的顺序。

变换类别: 其他

声明参数

  • 数据集 - 要执行键选择的数据集。
    表格
  • 启用cdc模式 - 如果为false,仅设置控制顺序保证的分区列;具有相同所有键列值的行将按接收顺序输出。如果为true,则同时设置分区列和主键,除了修改顺序保证外,还设置如何去重具有相同所有键列值的行的配置。
    Literal<Boolean>
  • 键选择列 - 按键对输入进行分区的列。如果启用更改数据捕获(通过指定主键参数),这些列也将用于定义更新。如果一行的键值完全匹配前一行的键值,则该行被视为更新。
    Set<Column<AnyType>>
  • 非必填 主键删除列 - 需要启用cdc模式。用于更改数据捕获以定义删除。如果一行的删除列值设置为true,并且键列完全匹配要删除的行,则该行被视为删除。
    Column<Boolean>
  • 非必填 主键排序列 - 需要启用cdc模式。推荐对流保持空白。用于更改数据捕获以定义批处理和存档数据集的排序。只有在尝试修改的行之后出现的行才能是更新或删除。如果保持空白且处于流cdc模式,最近流式传输的行将始终优先。
    List<Column<Byte | Date | Decimal | Integer | Long | Short | String | Timestamp>>