gpt4 book ai didi

hadoop - 使用 Nifi 将数据提取到 HDFS - 无法访问文件

转载 作者:可可西里 更新时间:2023-11-01 16:24:47 24 4
gpt4 key购买 nike

所以,我是第一次使用 NiFi。我正在尝试使用它来调用 API,然后将数据通过管道传输到 HDFS (Hortonworks Sandbox 2.4)。我目前只使用 2 个处理器:GetHTTP 和 PutHDFS。

我似乎两个处理器都配置正常...它们运行,但我无法找到当我通过 Ambari 进入 Hadoop 时创建的输出文件...我已将输出目录设置为/user/,但什么也没有出现。但是,我在 PutHDFS 处理器上收到一条警告消息,建议:

WARNING PutHDFS[...] penalizing StandardFlowFileRecord[...] and routing to failure because file with same name already exists.

...所以文件必须被写入某处。我试过改变指定 xml 和 JSON 格式的 API 调用,但没有明显区别。

我想我要么需要向 NiFi 中的管道添加一些处理,要么我在沙盒中查找错误的位置。有谁能给点建议吗?

最佳答案

PutHDFS 处理器读取传入的 FlowFile 上的“文件名”属性,并将其用作 HDFS 中的文件名。如文档[1]中所述。

GetHTTP 将“文件名”属性设置为“..远程服务器上文件的名称”[2]。所以我猜你是 GetHTTP 处理器每次都获取相同的文件,因此每个 FlowFile 的“文件名”属性都是相同的。

因此,为了解决该错误,您需要一个 UpdateAttribute 处理器[3],它将“文件名”属性更改为唯一值。

[1] https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.processors.hadoop.PutHDFS/index.html

[2] https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.processors.standard.GetHTTP/index.html

[3] https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi.processors.attributes.UpdateAttribute/index.html

关于hadoop - 使用 Nifi 将数据提取到 HDFS - 无法访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41539175/

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