将 NiFi 中同一列中的字符串值替换为整数值

2023-11-30

我想更换一个'字符串值' 并将该值输入为整数值使用 Nifi ReplaceText。我不知道如何在 NiFi 中实现这一点。

所以我的场景如下:

我将有一个 CSV 文件,其中包含几个带有整数的字段和几个作为字符串总值的字段。对于具有字符串值的字段,我想将其作为预定义的整数插入到我的数据库表中。例如: 我的 CSV 如下所示:

字段 1、字段 2、字段 3、字段 4、字段 5

1,2,abc,45,John

23,12,pqr,28,Sam

98,75,lmn,87,Smith

所以现在在 MySQL 表中,Field3 和 Field4 的数据类型为整数,因此在将 CSV 插入数据库之前,我想将字符串值更改为预定义的整数值,即对于 Field3 abc 值应在 MySQL 表中输入为 0,pqr 作为 1,lmn 作为 2 等等...类似地,Field4 中的值应在 MySQL 表中输入为 John 作为 10,Sam 作为 20 和 Smith为 30...所以我的上述 csv 应按如下方式存储在我的数据库中:

字段 1、字段 2、字段 3、字段 4、字段 5

1,2,0,45,10

23,12,1,28,20

98,75,2,87,30

我想我可以用 ReplaceText 来实现这一点。但如果有更好的方法来实现这一目标那就太好了。因为我的 CSV 将有 1000 多个列,假设 50 多个列将有一个字符串值,我需要处理该值并将其转换为预定义的整数值。在NiFi中可以实现这一点吗?

如果是,那么要设置什么配置以及最好的方法是什么?

谢谢你!


Use QueryRecord处理器和配置/启用读者/作家控制器服务

  • Add custom sql query作为处理器的新属性

查询记录配置:

select Field1,Field2,
    CASE WHEN Field3='abc' THEN '0'
         WHEN Field3='pqr' THEN '1'
         WHEN Field3='lmn' THEN '2'
    end Field3,
        Field4,
    CASE WHEN Field5='John' THEN '10'
         WHEN Field5='Sam' THEN '20'
         WHEN Field5='Smith' THEN '30'
    end Field5 
from FLowfile

enter image description here

QueryRecord 处理器的输出流文件将具有您想要的结果

Field1,Field2,Field3,Field4,Field5
1,2,0,45,10
23,12,1,28,20
98,75,2,87,30

Use this供您参考上述流程的模板查询记录处理器用途Apache Calcite sql 解析器.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 NiFi 中同一列中的字符串值替换为整数值 的相关文章

随机推荐

  • 如何使用 PHP 摘要?

    为什么要使用这样的摘要 它是否可以加快工作速度或者它的具体用途是什么 file1 php abstract class Search Adapter Abstract private ch null abstract private fun
  • 使用 Java DSL 在远程 S(ftp) 中移动已处理的文件

    一旦批处理使用 Spring 集成和 Java DSL 成功处理文件 我就会尝试在远程 SFTP 上移动文件 实现这一目标的最佳方法是什么 添加批量移动远程文件的步骤 或者使用FTP出站网关并提供MV命令 我倾向于选择第二种解决方案 让批处
  • 什么是虚拟方法?

    为什么要将一个方法声明为 虚拟 使用虚拟有什么好处 The Virtual修饰符用于标记可以在派生类中使用以下方式修改方法 属性 ect override修饰符 Example class A public virtual void Foo
  • Azure HTTP 请求超时解决方法

    目前 我们有一个托管在 Azure VM 实例上的应用程序 此应用程序有时会处理长时间运行和空闲的 HTTP 请求 这导致了一个问题 因为Azure 将关闭所有空闲时间超过几分钟的连接 我看到了一些关于设置较低 TCP keepalive
  • 如果运输方式是 Woocommerce 中的本地取货,则需要填写订单备注

    在 Woocommerce 中 我想要结账订单备注字段仅当选择本地取货作为运输方式 我已设法更改本地提货标签 以便指示客户向该字段添加详细信息 但想知道是否有一种方法不允许他们在向该部分添加详细信息之前继续操作 任何帮助将非常感激 下面的代
  • 使用空传播/空条件运算符时出错

    我在 VS 2013 中运行 NET 4 5 项目 为什么以下代码出错 var w Request Properties MS HttpContext as System Web HttpContextWrapper string IP w
  • symfony2 在构造函数中重定向

    我想在特定的情况下在构造函数中进行重定向 我尝试这样做 return new Symfony Component HttpFoundation RedirectResponse url 像这样 return this gt redirect
  • Chart.js - 绘制水平线

    我想使用在图表中绘制一条水平线Chart js 但我做不到 我读过这个问题 Chart js 绘制任意垂直线 但我无法转换绘图代码水平线不是垂直的 我希望你能帮助我 尤其是土豆皮 下面是绘制水平线的 JavaScript 代码 var da
  • Math.round(Math.random) 返回 3 个唯一数字问题 [已关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 好的 所以我需要返回 3 个互不相等的随机数 然后 当
  • 具有不同调色板的 R 热图

    我正在尝试使用不同的调色板在 R 中创建一个简单的热图 我想使用渐变 以便所有低于阈值 N 的数字都指定为一种颜色 例如紫色 所有高于阈值的数字都指定为另一种颜色 例如橙色 数字离阈值越远 颜色应该越深 这是一个示例数据集 Division
  • 解析Json以获取一个NSArray中的所有内容

    内容就是这样 id title website categories id label updated id title website categories id
  • 将矩形扩展 100px

    我在 C 中使用 OpenCV 2 4 4 并且有 矩形 我想将其放大 x 像素 OpenCV 文档提供很好的例子 寻找 将矩形扩大或缩小一定量 如何在图像中使用它http opencv willowgarage com documenta
  • 对于指向同一单元格的两个范围变量,“Is”运算符不会返回 true

    我有一个名为的自定义类imera其中我包含一个名为的范围属性date cell 创建 imera 集合时 每个 imera 的 date cell 都设置为引用 Excel 中的特定单元格 尝试按 date cell 在集合中搜索时 Opt
  • iPhone如何在按音量键时隐藏音量覆盖

    我做了很多事情来解决这个问题 比如添加MPVolumeView 有人说系统音量HUD 如果您在当前添加 MPVolumeView 实例 则会隐藏 但这不起作用 我添加观察者来观察体积的变化 并拍照 但现在我不知道如何隐藏音量HUD 我尝试过
  • 将数字划分为显示在用户表单标签中的唯一排序数字

    我想将数字分成唯一的排序数字 例如 数字可以是 127425 我希望结果为 12457 这意味着已排序并删除了重复项 我认为最好是用例子来解释 Number Result 127425 12457 2784425 24578 121 12
  • 限制 Java 中的文本字段

    有没有办法限制文本字段只允许数字 0 100 从而排除字母 符号等 我找到了一种方法 但它比看起来必要的要复杂得多 如果必须使用文本字段 则应该使用JFormattedTextField with a 数字格式化程序 您可以设置 Numbe
  • Pharo 中的彩色窗口主题?

    如何在 Pharo 中切换到彩色窗口主题 不确定你指的是哪个主题 但你尝试过吗 世界菜单 gt 系统 gt 设置 gt 外观 gt 形态 gt 用户界面主题 选择框将让您选择窗口颜色主题
  • Git "git config --global user.name" 为什么存在这个选项?

    Git 初学者警报 我有一个基本问题 为什么 GIT 允许更改用户名作为配置选项 git config global user name trojan 这个选项是否会为提交者冒充并在历史 日志中造成混乱打开大门 为什么不像从用于连接 GIT
  • 在运行时(动态)创建简单的 POJO 类(字节码)

    我有以下场景 我正在编写一些工具 可以对数据库运行用户输入的查询并返回结果 最简单的方法是将结果返回为 List
  • 将 NiFi 中同一列中的字符串值替换为整数值

    我想更换一个 字符串值 并将该值输入为整数值使用 Nifi ReplaceText 我不知道如何在 NiFi 中实现这一点 所以我的场景如下 我将有一个 CSV 文件 其中包含几个带有整数的字段和几个作为字符串总值的字段 对于具有字符串值的