gpt4 book ai didi

sequence - 水壶:用无冲突的顺序填充字段

转载 作者:行者123 更新时间:2023-12-04 20:53:09 25 4
gpt4 key购买 nike

我有一个具有以下结构的数据流

user_id (integer)
user_name (string)
user_id是 100 到 65536 之间的任何值。我想添加一个 target_user_id (整数)字段根据以下逻辑:
  • user_id在 1000..9999 范围内,然后让 target_user_id字段等于 user_id
  • 如果没有,则填写target_user_id在 1000..9999 范围内的东西而不会引起冲突。最好是尽可能低的。

  • 流的长度在 9000 以下。 user_id字段在原始流中是唯一的。

    最佳答案

    我不确定您使用的是什么 Kettle 环境,但一般程序可能如下:

  • 创建临时数据库表(可能是内存数据库表)
  • 使用 user_id 1000..9999 和 user_name=null 的记录初始化它(使用 TableOutput)
  • 通过使用 user_name 更新相应的数据库记录,打开输入流并处理具有 user_id 1000..9999 的记录。 (使用更新)忽略所有其他记录。
  • 关闭并重新打开输入流
  • 通过以下方式处理 user_id 不在 1000..9999 中的每个输入流记录:
  • 通过执行 SQL 查询 (DBLookup) 获取最低的未使用 user_id
    SELECT MIN(user_id) FROM temporary_table WHERE user_name IS NULL;
  • 使用当前用户名更新此记录(使用更新)
  • 使用非空用户名读取临时数据库表中的每条记录(使用 TableInput)并写入输出流
  • 删除临时数据库表

  • 希望这可以帮助

    关于sequence - 水壶:用无冲突的顺序填充字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8154068/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com