pentaho 除法 2 列

Posted

技术标签:

【中文标题】pentaho 除法 2 列【英文标题】:pentaho divide 2 column 【发布时间】:2021-06-30 06:57:27 【问题描述】:

正如您在屏幕截图中看到的那样,其中包含 csv 文件和许多列。我正在尝试在计算器步骤中将列与下一列分开。例如 00:00:00X 除以 00:00:01X 但几乎有 700 列。

我尝试过 etl 元数据注入,但计算器不支持,因此无法传递值。

如何在计算器步骤中定义整行?你还有什么想法吗?

【问题讨论】:

【参考方案1】:

正如我在您原来的 post 中所说,这是一个开箱即用的解决方案,如果您只需要以这种方式处理此文件,我将创建一个仅包含前两列的示例,保存转换,然后使用 Notepad++、Visual Studio Code 或任何您使用的文本编辑器编辑转换(内部只是一个 xml 文件)。

本地化定义计算器步骤的部分,例如:

<step>
  <name>MyCalculator</name>
  <type>Calculator</type>
  ...
  <calculation>
      <field_name>e</field_name>
      <calc_type>DIVIDE</calc_type>
      <field_a>a</field_a>
      <field_b>b</field_b>
      <field_c/>
      <value_type>Number</value_type>
      <value_length>-1</value_length>
      <value_precision>-1</value_precision>
      <remove>N</remove>
      <conversion_mask/>
      <decimal_symbol/>
      <grouping_symbol/>
      <currency_symbol/>
    </calculation>
    <calculation>
    ...
    </calculation>
   ...
</step>

之后,您会得到一个列列表,并使用宏复制该结构所需的所有计算,并将它们添加到文件中。

如果这不是创建唯一转换的一次性解决方案,您需要使用您喜欢使用的语言编写解决方案,或者甚至创建转换以模拟元数据注入到计算器步骤,在最后一种情况下您需要将自己的 java 代码添加到转换中,而且我不是 java 开发人员,所以我无法为您提供帮助。

【讨论】:

以上是关于pentaho 除法 2 列的主要内容,如果未能解决你的问题,请参考以下文章

在 pentaho 的 CDE 仪表板的表组件中创建新列,表示 2 列的总和

使用 pentaho 数据集成的 SQL 标识列插入

Pentaho:如何将字段(= 列)动态添加到 OutputRow?

pentaho 计算器步除以 0

使用 Pentaho Kettle 实现 SCD Type 2 (Pentaho Data Integration 5.2)

如何在pentaho中使用csv输入固定列重新排序列