问题标签 [batch-processing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
13221 浏览

java - 使用休眠读取大量数据时出现内存不足

我需要从数据库中导出大量数据。这是代表我的数据的类:

... }

ProductHtmlSource- 包含我实际需要导出的大字符串。

由于导出数据的大小大于 JVM 内存,因此我按块读取数据。像这样:

}

代码getProductIterator

问题是,尽管我在读取每个数据块Product对象后清除会话在某处累积并且我得到 OutOfMemory 异常。问题不在于处理代码块,即使没有它我也会遇到内存错误。批处理的大小也不是问题,因为 1000 个对象很容易进入内存。

Profiler 显示对象在org.hibernate.engine.StatefulPersistenceContext类中累积。

堆栈跟踪:

0 投票
2 回答
749 浏览

excel - 关于 Photoshop、Excel 和外部图像的棘手问题

对,我有一个 Photoshop PSD 文件、一个包含自定义数据的电子表格和一个充满图像的文件夹。我想要一种为电子表格中的每个条目创建唯一图像的方法,其中电子表格包含必须填充 PSD 中的文本元素的数据,并引用需要粘贴到 Photoshop 中的图像。

我通常会手动执行此操作,但我需要为 400 多张图像完成此操作,因此我正在分析可以自动执行此操作的方法,脚本或其他方式。

你们有什么想法吗?生无可恋!

0 投票
4 回答
8894 浏览

java - Log4j:每个请求一个日志文件

我们有一个 weblogic 批处理应用程序,它同时处理来自消费者的多个请求。我们使用 log4j 来记录目的。现在我们为多个请求登录到一个日志文件。为给定请求调试问题变得乏味,因为对于所有请求,日志都在一个文件中。

所以计划是每个请求都有一个日志文件。消费者发送一个必须执行处理的请求 ID。现在,实际上可能有多个消费者向我们的应用程序发送请求 ID。所以问题是如何根据请求隔离日志文件。

我们不能每次都启动和停止生产服务器,因此排除了使用带有日期时间戳或请求 ID 的覆盖文件附加程序的点。这是以下文章中解释的内容:http: //veerasundar.com/blog/2009/08/how-to-create-a-new-log-file-for-each-time-the-application-runs/

我还尝试过使用这些替代方法:

http://cognitivecache.blogspot.com/2008/08/log4j-writing-to-dynamic-log-file-for.html

http://www.mail-archive.com/log4j-user@logging.apache.org/msg05099.html

这种方法给出了预期的结果,但如果同时发送多个请求,它就不能正常工作。由于一些并发问题,日志会到处乱跑。

我期待你们的一些帮助。提前致谢....

0 投票
1 回答
11717 浏览

sql - 使用hibernateTemplate,JdbcTemplate进行春季批量插入

我有几个与 Spring 中的批量插入有关的问题。

当我做这样的事情时:

在 mysql 日志文件中,我看到:

所以我们有 3 个插入语句(和 3 个网络调用)。

当我getJdbcTemplate().batchUpdate(tab)在日志文件中使用时,我可以看到:

1094 [main] DEBUG org.springframework.jdbc.core.JdbcTemplate - 执行 3 个语句的 SQL 批量更新 1110 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - 从 DataSource 获取 JDBC 连接 1110 [main] DEBUG org.springframework .jdbc.datasource.DriverManagerDataSource - 创建新的 JDBC DriverManager 连接到 [jdbc:mysql://localhost:3306/test?useServerPrepStmts=true] 1610 [main] DEBUG org.springframework.jdbc.support.JdbcUtils - JDBC 驱动程序支持批量更新

并在 mysql 日志中:

我知道在后台 addBatch 方法是在语句对象上调用的,并且所有这些操作都是同时执行的。额外的好处是减少网络调用。我的推理正确吗?

我在 HibernateTemplate 中寻找类似的东西。我可以这样做:

在这种情况下,在日志文件中我可以看到:

因此,似乎一切都像 getJdbcTemplate().updateBatch(...) 一样一次性完成

如果我错了,请纠正我。

0 投票
1 回答
255 浏览

hadoop - 如何保证 MapReduce 任务相互独立?

我很好奇,但 MapReduce、Hadoop 等如何将一大块数据分解为独立操作的任务?我很难想象这是怎么回事,考虑到数据通常是相互关联的,任务之间的状态条件等等。

0 投票
2 回答
6652 浏览

java - 目录轮询的最佳实践

我必须进行批处理以自动化业务流程。我必须定期轮询目录以检测新文件并进行处理。在处理旧文件的同时,新文件可以进来。目前,我使用石英调度器和线程同步来确保只有一个线程可以处理文件。

部分代码如下:

应用程序上下文.xml

文档
处理器.....

对于当前代码,当一个线程正在处理时,我必须阻止其他线程处理文件。这是一个好主意吗 ?或者我们支持多线程处理。在这种情况下,我如何知道哪些文件正在处理以及哪些文件刚刚到达?任何想法都非常感谢。

0 投票
1 回答
1050 浏览

batch-processing - 如何使用 LINQPad 执行批处理作业?

最近发现LINQPad可以执行shell命令。有人可以向我展示一个如何使用 LINQPad 查询来执行批处理作业的示例吗?


对不起,我没有把我的问题说清楚。我的意思是让 .linq 文件成为我的批处理文件。也就是说,调度一个写入 .linq 文件的批处理作业,并使用 LINQPad 作为命令来执行它。

0 投票
14 回答
190593 浏览

sql - 运行目录中的所有 SQL 文件

我有许多 .sql 文件,我必须运行这些文件才能将其他开发人员所做的更改应用于 SQL Server 2005 数据库。这些文件根据以下模式命名:

有没有办法一次性运行所有这些?

0 投票
1 回答
238 浏览

database - 如何使用 C# 线程创建批处理文件并同时执行它们

我有大约 4000 行的数据库代码。大约需要 30 40 分钟。用于执行。

我想创建 20 个包含相同命令行的批处理文件,以便我可以使用线程同时启动它们。

没有一个批处理文件依赖于其他批处理文件。都是独立的。只有依赖项都将在同一个数据库上执行。

谁能指导我如何进行,以减少通常执行所需的时间。

0 投票
1 回答
363 浏览

sql-server - 使用 DBCC CheckIdent 进行批量复制插入

我们的团队需要向我们的 SQL Server 2008 数据库中插入大量数据。我们正在寻找一个好的解决方案。现在我们想出了一个,但我对此表示怀疑,只是因为它感觉不对。所以我在这里问这是否是一个好的解决方案。额外的挑战是它是一个超过 4 台服务器的对等复制数据库!:)

假设我们有 100 万行要插入

  1. 开始交易
  2. 将表上的当前标识值增加 100 万
  3. 准备好包含 100 万行和正确 ID 的 DataSet/DataTable
  4. 将数据批量复制到数据库中
  5. 提交事务

这是一个好的解决方案吗,我们可能会遇到并发问题,交易量太大等等。