gpt4 book ai didi

apache-nifi - 在 Apache Nifi 中将 TimeLine 添加到文件时出错

转载 作者:行者123 更新时间:2023-12-01 11:18:54 26 4
gpt4 key购买 nike

我正在使用 HDP 2.5。我尝试为位于 HDFS 文件中的文件添加时间。为此,我使用 GetHDFS->UpdateAttribute->PutHDFS。

首先,我通过 GetHDFS 处理器从 HDFS 获取文件,然后通过添加属性更改 UpdateAttribute 中的文件格式“

${filename}.${now():format("yyyy-MM-dd-HH:mm:ss.SSS'z'")}"。最后我将文件放入 HDFS。在这个阶段我有一个问题例如,如果目标文件夹(在 HDFS 中)包含已经有时间线的文件。一旦我在结果中运行流程,同一文件会出现两个或多个时间线

已包含时间线的文件

enter image description here

Nifi文件流后包含两个时间线

enter image description here

谁能告诉我如何解决这个问题

最佳答案

如果您不想更改当前的工作流程,最好的选择可能是使用 GetHDFS 处理器中的“文件过滤器”属性来仅获取文件名中不包含日期的文件(假设您的文件有一些命名约定)。另一种选择是将重命名的文件发送到另一个目录中。

作为一般性评论,我建议使用 ListHDFS 和 FetchHDFS 处理器的组合,因为在使用 NiFi 集群时它是一种更有效的模式。然后,您可以在中间使用 RouteOnAttribute 进行一些比“文件过滤器”选项更高级的过滤。

另一条评论:您的方法不是性能最高的方法,因为您是从 HDFS 下载数据,然后将其上传回来。 HDFS 中的重命名/移动操作可能会更干净(或者首先具有正确的命名)。您可以使用 WebHDFS 接口(interface)在 NiFi 中使用 InvokeHTTP 处理器结合 ListHDFS 处理器执行重命名。

关于apache-nifi - 在 Apache Nifi 中将 TimeLine 添加到文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46659290/

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