【问题标题】:Apache Nifi - get the file attributes and construct the json through custom processorApache Nifi - 获取文件属性并通过自定义处理器构造 json
【发布时间】:2016-12-27 22:40:59
【问题描述】:

我正在使用自定义处理器进行 csv 到 json 转换,它将 csv 文件数据转换为包含数据的 json 对象的 json 数组。

我的要求是获取文件属性,如文件名、uuid、路径等,并从中构造一个 json。

问题:

如何获取文件的相关属性并构造一个 json 对象,将其附加到之前构造的同一个 json 中。

刚刚使用 apache nifi 工作了几天,所以现在只需使用自定义处理器来满足确切的要求。

【问题讨论】:

    标签: apache-nifi


    【解决方案1】:

    我无法说明正在为您的自定义处理器编写哪些属性,但是大多数/所有流文件都有一组core attributes,例如文件名和uuid。如果您使用GetFileListFile/FetchFile 读取您的CSV 文件,您将拥有这些属性和许多其他可用属性(有关更多信息,请参阅文档)。

    当您有一个设置了适当属性的流文件时,您可以使用AttributesToJSON 处理器创建一个包含指定属性的平面列表的 JSON 对象,该对象可以替换流文件内容或成为其自己的属性(名为 'JSONAttributes')取决于 AttributesToJSON 的“Destination”属性的设置。

    【讨论】:

    • 肯定是在使用 GetFile 处理器来获取 CSV 文件..你绝对习惯了可用的默认文件属性(这些属性也存在于我的自定义处理器中,因为我正在使用 Flowfile),因为采纳您的建议查看 api 方法并找到 [org.apache.nifi.flowfile.attributes.CoreAttributes] (docs.hortonworks.com/HDPDocuments/HDF1/HDF-1.2/…) 枚举,它定义了每个 FlowFile 的核心属性。已经得到了需要的属性..谢谢
    猜你喜欢
    • 1970-01-01
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多