标签: batch-processing

Spring Batch如何设置Chunk tasklet中每个调用之间的时间间隔

球队,

我正在做一个技术poc,用于从平面文件中读取记录并将数据插入数据库.

我正在使用chunk任务并成功使用spring batch admin运行此作业.

我必须实现重试策略以及一个功能来设置每次重试之间的时间间隔.我很难设置每次重试之间的时间间隔,因为chuck不直接支持它.这有什么工作吗?

我的代码是

<batch:job id="importDataJob" job-repository="jobRepository">
  <batch:step id="importDataStep">
    <batch:tasklet transaction-manager="transactionManager">
      <batch:chunk reader="dataReader" writer="dataWriter"  commit-interval="1" retry-limit="3">
        <batch:retryable-exception-classes>
          <batch:include class="javax.naming.ServiceUnavailableException" />
        </batch:retryable-exception-classes>
      </batch:chunk>
    </batch:tasklet>
  </batch:step>
</batch:job>
Run Code Online (Sandbox Code Playgroud)

java batch-processing spring-batch

6
推荐指数
1
解决办法
1万
查看次数

如何在批处理文件中压缩

我在压缩批处理文件中的目录或文件时遇到问题。我该怎么做,有人可以帮我解决这个问题吗?

谢谢

compression batch-file batch-processing

5
推荐指数
1
解决办法
3万
查看次数

Spring Batch如何在将重复项发送到ItemWriter之前对其进行过滤

我读了一个平面文件(例如.csv文件,每个用户1行,Ex:UserId; Data1; Date2).

但是如何在阅读器中处理重复的用户项目(哪里没有previus readed用户列表......)

stepBuilderFactory.get("createUserStep1")
.<User, User>chunk(1000)
.reader(flatFileItemReader) // FlatFileItemReader
.writer(itemWriter) // For example JDBC Writer
.build();
Run Code Online (Sandbox Code Playgroud)

spring batch-processing spring-batch

5
推荐指数
2
解决办法
1万
查看次数

如何在批处理脚本中读取文件的最后两行

我有一个 Java 程序,它在文件的最后两行中附加新的构建信息。如何在批处理文件中读取它们?

file batch-file batch-processing

5
推荐指数
2
解决办法
2万
查看次数

%%a 是什么意思?(批)

%%a 是什么意思?
我了解上下文,但不了解如何使用它。例如 :

FOR %%a in (%HELP%) DO echo I don't Know what it means
Run Code Online (Sandbox Code Playgroud)

batch-file batch-processing

5
推荐指数
1
解决办法
1万
查看次数

部分失败时的executeBatch行为

我有一个 java 1.6 应用程序,它使用批量插入使用 jdbc 驱动程序在 Oracle 数据库中插入记录。正如您所知,Statement 对象有一个名为executeBatch() 的方法,我们使用它来进行批量更新。它有一个 int 数组的返回类型,其中包含每个记录的执行结果。但如果出现错误,它也会抛出 BatchUpdateException,我们也可以从中获取结果 int 数组。我的问题是在什么错误情况下我应该期望 BatchUpdateException 以及何时我应该期望没有抛出异常,但对于某些记录我会失败。

注意:问题专门针对 Oracle JDBC。为了更清楚地说,我见过这样的情况:执行executeBatch()后,我没有得到BatchUpdateException,但某些插入语句失败了。我的问题是在什么情况下会发生这种情况?

这是Statement.executeBatch()方法的返回javadoc。根据这里的一般观点,当一个条目失败时,执行会抛出 BatchUpdateException,然后在这种情况下,我们可以预期返回数组中的某些条目会失败。

      * @return an array of update counts, with one entry for each command in the
 *         batch. The elements are ordered according to the order in which
 *         the commands were added to the batch.
 *         <p>
 *         <ol>
 *         <li> If the value of an element is >=0, the corresponding command
 *         completed successfully and the value …
Run Code Online (Sandbox Code Playgroud)

java oracle jdbc batch-processing

5
推荐指数
1
解决办法
1万
查看次数

Amazon S3 - 使用 Java API 批量上传文件?

我们希望开始使用 S3 来满足我们的一些存储需求,我正在寻找一种方法来批量上传“N”个文件。我已经使用 Java API 编写了代码来执行单个文件上传,但是有没有办法提供要传递给 S3 存储桶的文件列表?

我确实查看了以下问题is-it-possible-to-perform-a-batch-upload-to-amazon-s3,但这是两年前的问题,我很好奇情况是否发生了变化。我似乎无法在代码中找到一种方法来做到这一点。

我们想要做的是能够设置一个内部作业(可能使用 Spring 中的计划任务)来每晚转换文件组。我想有一种方法来做到这一点,而不仅仅是循环它们并为每个人做一个放置请求,或者不得不将批次压缩到 S3 上。

java amazon-s3 batch-processing amazon-web-services

5
推荐指数
1
解决办法
6686
查看次数

使用 Slurm 提交 .m 批处理作业后,我可以在不更改原始提交的情况下编辑我的 .m 文件吗?

假设我想在集群上运行一个作业:job1.m

Slurm 处理批处理作业,我正在加载 Mathematica 以保存输出文件 job1.csv

我提交了 job1.m 并且它在队列中。现在,我编辑 job1.m 以获得不同的变量和参数,并告诉它将数据保存到 job1_edited.csv。然后我重新提交job1.m。

现在我有两个批处理作业在队列中。

我的输出文件会怎样?job1.csv 是来自原始 job1.m 文件的数据吗?job1_edited.csv 会是编辑后的文件中的数据吗?还是 job1.csv 和 job1_edited.csv 是相同的输出?

:(

提前致谢!

wolfram-mathematica batch-processing slurm

5
推荐指数
1
解决办法
2764
查看次数

Aerospike 中批处理请求的低性能

我有一个应用程序可以执行很多 batchGets(主要是大约 2000 个键)。这是我使用的代码:

AerospikeClient aerospike = new AerospikeClient("10.0.240.2", port)

public byte[][] getBatch(byte[][] keys) {
    Key[] aeroKeys = new Key[keys.length];
    for (int i = 0; i < keys.length; i++) {
        aeroKeys[i] = new Key(NAMESPACE, setName, keys[i]);
    }
    Record[] records = aerospike.get(batchPolicy, aeroKeys);
    byte[][] response = new byte[keys.length][];

    for (int i = 0; i < keys.length; i++) {
        if (records[i] != null) {
            response[i] = (byte[]) records[i].getValue(DEFAULT_BIN_NAME);
        }
    }
    return response;
}
Run Code Online (Sandbox Code Playgroud)

当我有一个请求时,此代码可以完美且快速地运行。但是当我运行多个并行线程执行 batchGets 时,它非常慢(退化与线程数成线性关系,例如 4 个线程 = 4 倍慢,8 个线程 …

java multithreading batch-processing aerospike

5
推荐指数
1
解决办法
966
查看次数

有没有办法在AWS Batch作业上设置挂机时间?

有没有办法为AWS Batch作业(或队列)设置最长运行时间?这是大多数批处理管理器中的标准设置,可避免因任何原因挂起作业时浪费资源.

scientific-computing batch-processing amazon-web-services aws-batch

5
推荐指数
1
解决办法
436
查看次数