二进制数据是使用两个字符的字母表存储的信息(通常使用0和1编写)
如何在 Apache NiFi 中解析和转换二进制数据结构?
我正在使用 Apache NiFi,我需要解析和转换传入的二进制数据,这些数据遵循格式字符串 ' 定义的特定结构 我正在使用 Apache NiFi,我需要解析和转换传入的二进制数据,这些数据遵循每条消息的格式字符串 '<BBHBBHHHHHHh'(20 字节)定义的特定结构(类似于 Python 的 struct 模块格式字符串)。数据表示一系列不同类型的字段(无符号字符、无符号短整型、有符号短整型),我需要提取这些值以便在 NiFi 流中进行进一步处理。使用 python 从 mqtt 中使用并使用 struct 将其转换为 json 非常容易,但是如何在 nifi 中做到这一点?我设法使用 mqtt 但无法解码。将来我每秒会收到许多这样的 20 字节数据包,我希望它稳定且高性能。 我知道 NiFi 主要处理基于文本或更通用的数据结构,例如 JSON 或 XML,并且我正在寻找在 NiFi 中处理这种二进制数据解析的最佳方法,如果可能的话,无需依赖外部脚本或工具。 这是我迄今为止考虑或尝试过的: 基于记录的处理器,例如ConvertRecord,但我不确定如何为二进制数据配置记录读取器。 脚本处理器,例如 ExecuteScript 或 InvokeScriptedProcessor,但我担心 Jython 或 Groovy 中处理二进制数据结构的性能和复杂性。 外部工具或脚本,我希望避免使用这些工具或脚本,以便将处理保留在 NiFi 的托管环境中。 将此类二进制数据解析集成到 NiFi 数据流中的最佳实践或模式。 您的经验中的任何建议或见解将不胜感激! 如果 nifi 不是合适的工具,我对其他工具持开放态度,我确实研究过 flink,但这看起来很复杂,我喜欢 nifi 的流程思想。我也研究过 redis gears,但从 api 开发来看,它看起来不稳定。 这很奇怪,但最有效的变体是使用 ExecuteGroovyScript (或 ScriptedProcessor,但在性能上相同 ScriptedProc 有一些附加选项)或外部脚本和 ExecuteStreamCommand。但我认为 ExecuteGroovyScript 是不太复杂的解决方案。 更通用的解决方案编写 ScriptedReader 并根据测试使用 ConverRecord 它不是那么性能,但更通用的解决方案编写 ScriptedReader 您可以比在您选择的任何过程中使用它。
502 错误网关内部服务器错误 lambda 提供二进制文件
我正在从节点获取中获取文件,如下所示 module.exports.somelambdafunction = async (事件、上下文、回调) => { const StreamData = 等待获取(某些文件 url,{ 标题:{ ...
我正在尝试使用Python循环一个充满8字节记录的长二进制文件。 每个记录的格式为 [ uint16 | uint16 | uint32] (结构格式中的“HHI”) 显然每个...
二进制网格导出是什么二进制格式以及如何将其转换为ascii?
我通过 Python API 使用 Gmsh 生成了一些大型网格。 ASCII 文件可以是千兆字节。由于二进制文件更小且读取速度更快,我设置 Gmsh 将网格文件保存为二进制文件...
我有一个日志/文本文件,当用 less 打开时,其中充满了突出显示的 ^B 行。通常我会看到 ^A 并且我有以下 sed 命令将 ^A 替换为 |。我不久前发现了它,但不知道...
我想获取图像的原始二进制数据,但我不知道该怎么做。有没有可用的模块可以做到这一点?我需要一些帮助。如果有人知道这个问题的解决方案帮助我。
在C中,以可移植的方式提取双精度数的尾数作为long long
函数 frexp(3) 返回双精度 x 的标准化尾数 xm,其值为 [0.5,1.0),除非 x=0。所以我可以将其转换为 long long,如下所示: 整数即; // 将在下一行设置 ...
我有一个集群实时系统,会产生大量的二进制日志。 我从系统中的每个节点获取一堆二进制日志,我想以方便的方式查看日志。最...
一个“字节”是8位。 “nibble”(有时为“nybble”)代表 4 位。 有没有一个术语来表示一组 5 位? 目前正在研究 Base32 编码器,需要...
我有一个更大的数据转换实用程序,这是其中的一小部分。它将旧格式转换为内存,然后将内存写入基于 HDF5 的输出格式。下面是一个函数,WriteFloatDataset...
我的工作流程需要 2 个步骤 调用外部 HTTP API,该 API 返回二进制文件/pdf。 将其转换为 Base64 字符串并将其发送到另一个 API。 不幸的是我无法解释二进制文件
有没有办法在powershell的stdout/stdin上输出和使用二进制文件?
我遇到了 powershell 脚本的问题,该脚本不起作用,而具有相同命令的 dotnet 应用程序却可以工作。我相信问题与编码有关,我认为在 powershell 中
如何在 R 中将扩展名为 .GRD 的二进制文件转换为 .TXT?
我有 20 个扩展名为 .grd 的二进制文件,用于表示 2000 年至 2020 年从印度气象部门网站下载的降雨量(0.25 X 0.25 度)。 数据排列在 135x129 网格中
我有一个程序可以从旧系统读取文件。 每个文件中的一部分数据(不是整个文件)是使用未知的压缩方案进行压缩的,我需要知道如何解压缩......
我有具有以下规格的二进制数据 1 字节 SF-主调 1 字节 SF-次要 1 字节 SF 补丁 1 字节 SF 构建 2 字节构建(小端) 我编写了以下代码来读取这些数据 格式字符串...
我正在运行一个包含 3 个自变量的线性回归,其中 2 个是连续变量,一个是代表假期的二进制变量。用七年级的语言来说,它看起来像 log(Unit_Sales) ~ 拦截...
我正在接收字符串中的二进制数据。我想将其编码为 Base64。是否有任何类可以执行该操作(我想要一个 API)。
我有一个看起来像是 .XML 的文件(它甚至有一个 标头)。但是在标题之前,当我在Notepad++中打开文件时,有随机的
我正在尝试从字节对象中提取数据。例如: 从 b'\x93\x4c\x00' 我的整数隐藏在位 8 到 21 之间。 我尝试执行 bytes >> 3 但这对于超过一个字节是不可能的...