我有一个ETL(pentaho),它通过以下步骤提供excel文件输出。
转型1:
created > DATEVALUE ORDER BY created ASC
的SQL语句)现在我如何读取excel输出(创建列)值的最后一行并存储到文本文件中?所以我可以确保在重新运行作业时,SQL语句created date
比文本文件存储值更重。
转型1:
created > (get the value from text file) ORDER BY created ASC
的SQL语句)实现这一目标的最简单方法是什么?
答案 0 :(得分:1)
您可以使用Group by
和Text file output
的组合保存数据流的最后一行,该行匹配到写入Excel的最后一行,您可以在Excel output
步骤后立即执行此操作:
Last value
标签的Type
列中设置Aggregates
。将您的日期字段设为Subject
,并为其提供一些Name
,例如last_date
。last_date
写入文件。然后,您的转换将从一个步骤开始,该步骤从文件(last_date
)读取Text file input
并将其传递到Table input
步骤,在此步骤中将其用作SQL查询的参数
答案 1 :(得分:0)
您还可以使用Identify last row in a stream
步骤。只需保持行输出Excel输出步骤,识别最后一行,丢弃除该行之外的所有行,然后将其写入文本文件。它看起来像这样: