- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 BufferedReader 执行对象的流式读取。
我需要用这个对象做两件事:
目前,我必须使用两种不同的 BufferedReader:一种作为 SuperCSV CSV 阅读器类的参数,另一种用于初始化原始行的惰性序列。我有效地下载了两次 S3 对象,这既昂贵又缓慢。
我的一位同事指出,我正在寻找类似于 Unix“tee”命令的东西。可以以某种方式“拆分”、下载一大块数据并将副本传递给延迟序列和 csv 阅读器功能的 BufferedReader 将很有用。
我目前还在研究是否可以将惰性序列包装在 BufferedReader 中并将 that 传递给 super csv。在将非常大的惰性序列传递给多个消费者时,我遇到了一些 Java 堆空间问题,所以我有点担心采用这个解决方案。
另一种解决方案是将文件下载到本地,然后在该文件上打开两个流。这消除了流背后的原始动机:允许在数据开始到达时立即开始处理文件。
最终的解决方案是实现我自己的 CSV 阅读器,它会返回已解析的 CSV 和原始未解析的行,这也是我仅在没有其他方法时才会考虑的解决方案。如果您使用了一个非常可靠的 CSV 阅读器,它可以返回已解析 CSV 数据的 Java 哈希和原始未解析行,请告诉我!
谢谢!
最佳答案
我倾向于从网络创建一系列行,然后将其交给需要处理该序列的许多进程;持久数据结构很酷。在需要将字符串序列转换为可以交给 SuperCSV api 的阅读器的情况下,这似乎可行:
(import '[java.io Reader StringReader])(defn concat-reader "Returns a Reader that reads from a sequence of strings." [lines] (let [srs (atom (map #(StringReader. %) lines))] (proxy [Reader] [] (read ([] (let [c (.read (first @srs))] (if (and (neg? c) (swap! srs next)) (.read this) c))) ([cbuf] (.read this cbuf 0 (count cbuf))) ([cbuf off len] (let [actual (.read (first @srs) cbuf off len)] (if (and (neg? actual) (swap! srs next)) (.read this cbuf off len) actual)))) (close [] ))))
例如
user=> (def r (concat-reader ["foo" "bar"]))#'user/ruser=> (def cbuf (char-array 2))#'user/cbufuser=> (.read r cbuf)2user=> (seq cbuf)(\f \o)user=> (char (.read r))\ouser=> (char (.read r))\b
关于java - 克洛贾尔/Java : Most effective method for minimizing bandwidth consumption when performing complex operations on a stream of Amazon S3 data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3580152/
我想知道防病毒程序使用哪种技术来扫描磁盘或文件并保持低内存消耗。它们也不影响用户事件。 我正在寻找一种能够以低内存消耗实现磁盘扫描的方法。 最佳答案 他们没有。我知道的每个扫描仪都使用大量内存,并且对
我正在尝试使用 pygame 在 python 中制作一个蛇游戏...它会四处移动并吃食物。但每当“蛇”经过它时,我似乎无法让 cookies 移动。 我尝试设置一个不等式来比较食物的位置和蛇的位置,
我正在使用 expat 解析器来解析一个大约 15 GB 的 XML 文件。问题是它抛出“内存不足”错误并且程序中止。 我想知道是否有人遇到过与 expat 解析器类似的问题,或者这是一个已知错误并已
我有一个 Dijkstra 算法的实现,基于 this website 上的代码.基本上,我有许多节点(比如 10000 个),每个节点可以有 1 到 3 个与其他节点的连接。 节点在 3d 空间内随
我正在使用多阶段 Docker 构建构建 Quarkus native 可执行文件,如 Quarkus - Building a Native Executable 中所述。 我的项目只包括 Hell
我正在浏览 perf improvements 的列表可以针对 Cosmos DB 进行制作。我的 API 以消费模式托管在 Function 应用程序中。是否建议为 Azure Functions
我在 WSL 上运行 Linux,并希望使用 Python 3.10 上的 Linux 消耗计划将 hello-world 示例发布到 Azure Functions。 这对我来说不是一个解决方案:Z
根据 Microsoft 的 documentation ,Function 应用可以根据消费计划扩展到 200 个实例。这是遏制滥用的技术限制还是安全限制?我知道有时 Azure 支持可能会按需增加
由于 Azure Functions 主机是根据“消费计划”下的传入事件数量动态添加和删除的,因此 Azure 透明地加密主机上传输中和静态数据的保证是什么?是否有任何文档可以分享有关 Azure F
根据 Microsoft 的 documentation ,Function 应用可以根据消费计划扩展到 200 个实例。这是遏制滥用的技术限制还是安全限制?我知道有时 Azure 支持可能会按需增加
在我的开发环境中,我有一个包含 21 个函数的 Azure Functions,应用程序计划是消耗。 某些函数具有计时器触发器,并且在进程结束时每个函数都会发送一封电子邮件。我有两种类型的计时器触发器
1-问题 我在python上使用“spacy”对文本文档进行词素化。 有500,000个文档,其最大大小为20 Mb的纯文本。 问题如下:在使用整个内存之前,spacy内存消耗随着时间的推移而增长。
首先这个警告是什么意思? Will-change memory consumption is too high. Budget limit is thedocument surface area mu
我有一个从磁盘读取文本 block 的生产者。多个消费者正在对该 block 进行计算。 如果当前正在计算超过 n 个 block ,我希望生产者暂停从磁盘读取数据。 已将其放入伪代码中以说明我想要实
我们需要为 Web 编辑器实现撤消功能,并希望测试撤消历史可以合理地走多远。 撤消数据模型是一个包含 1+ 个 jQuery 对象的 JavaScript 数组,每个对象可以包含多个 Base64 图
对不起,基本问题,但我自己无法弄清楚。 我试图在 Spark UI 上弄清楚每个工作人员和驱动程序上有多少可用内存和使用量。 有没有直接的和简单 如何监控这些信息? 我的目标是根据我的数据在工作人员和
在我的 Node.js 项目中,我尝试使用 azure-arm-consumption package获取当前消耗/账单。 我的代码: const MsRest = require('ms-rest-
我有一个异步生成不同进程的应用程序。当进程完成时,响应包含进程的详细信息,例如消耗的内存等。我想根据输出为每个进程消耗的内存创建指标。 (注意:这意味着我只能在流程完成后更新指标) 来自Prometh
最近,我将我们的流应用程序从 Spark-streaming 2.1 切换为使用 kafka-streaming 新 API (1.0) 和 kafka 代理服务器 0.11.0.0 我已经实现了自己
在我的 Node.js 项目中,我尝试使用 azure-arm-consumption package获取资源组的当前消耗/计费。我的意思是,到目前为止,在这个资源组上花了多少钱。 在“接口(inte
我是一名优秀的程序员,十分优秀!